GE-115 Emulator
An Emulator of the General Electrics GE-115 computer
Macros | Enumerations | Functions | Variables
console_socket.c File Reference
#include <sys/socket.h>
#include <sys/un.h>
#include <unistd.h>
#include <fcntl.h>
#include <string.h>
#include <stdint.h>
#include <stdlib.h>
#include "console_socket.h"
#include "ge.h"
#include "console.h"
#include "log.h"

Go to the source code of this file.

Macros

#define CONSOLE_FRAME_BYTES   19
 
#define CONSOLE_OFF_SWITCHES   12
 
#define CONSOLE_OFF_BUTTONS   16
 
#define CONSOLE_OFF_ROTARY   18
 

Enumerations

enum  {
  BTN_AC_ON = 0 , BTN_DC_ALERT , BTN_POWER_ON , BTN_MAINTENANCE_ON ,
  BTN_SWITCH_1 , BTN_SWITCH_2 , BTN_STEP_BY_STEP , BTN_LOAD_1_2 ,
  BTN_EMERGEN_OFF , BTN_STANDBY , BTN_PAD , BTN_MEM_CHECK ,
  BTN_CLEAR , BTN_LOAD , BTN_HALT_START , BTN_OPER_CALL
}
 

Functions

static int console_socket_init (struct ge *ge, void *ctx)
 
static int console_socket_deinit (struct ge *ge, void *ctx)
 
static void console_press_buttons (struct ge *ge, uint16_t buttons)
 
static int console_socket_check (struct ge *ge, void *ctx)
 
int console_socket_register (struct ge *ge)
 

Variables

static const char socket_path [] = "/tmp/gemu.console"
 
static int console_socket_fd = -1
 
static uint16_t console_prev_buttons
 
static struct ge_peri console_socket
 

Macro Definition Documentation

◆ CONSOLE_FRAME_BYTES

#define CONSOLE_FRAME_BYTES   19

Definition at line 73 of file console_socket.c.

◆ CONSOLE_OFF_BUTTONS

#define CONSOLE_OFF_BUTTONS   16

Definition at line 75 of file console_socket.c.

◆ CONSOLE_OFF_ROTARY

#define CONSOLE_OFF_ROTARY   18

Definition at line 76 of file console_socket.c.

◆ CONSOLE_OFF_SWITCHES

#define CONSOLE_OFF_SWITCHES   12

Definition at line 74 of file console_socket.c.

Enumeration Type Documentation

◆ anonymous enum

anonymous enum
Enumerator
BTN_AC_ON 
BTN_DC_ALERT 
BTN_POWER_ON 
BTN_MAINTENANCE_ON 
BTN_SWITCH_1 
BTN_SWITCH_2 
BTN_STEP_BY_STEP 
BTN_LOAD_1_2 
BTN_EMERGEN_OFF 
BTN_STANDBY 
BTN_PAD 
BTN_MEM_CHECK 
BTN_CLEAR 
BTN_LOAD 
BTN_HALT_START 
BTN_OPER_CALL 

Definition at line 79 of file console_socket.c.

Function Documentation

◆ console_press_buttons()

static void console_press_buttons ( struct ge ge,
uint16_t  buttons 
)
static

Definition at line 91 of file console_socket.c.

◆ console_socket_check()

static int console_socket_check ( struct ge ge,
void *  ctx 
)
static

Definition at line 162 of file console_socket.c.

◆ console_socket_deinit()

static int console_socket_deinit ( struct ge ge,
void *  ctx 
)
static

Definition at line 44 of file console_socket.c.

◆ console_socket_init()

static int console_socket_init ( struct ge ge,
void *  ctx 
)
static

Definition at line 20 of file console_socket.c.

◆ console_socket_register()

int console_socket_register ( struct ge ge)

Definition at line 215 of file console_socket.c.

Variable Documentation

◆ console_prev_buttons

uint16_t console_prev_buttons
static

Definition at line 18 of file console_socket.c.

◆ console_socket

struct ge_peri console_socket
static
Initial value:
= {
.on_pulse = console_socket_check,
}
static int console_socket_deinit(struct ge *ge, void *ctx)
static int console_socket_check(struct ge *ge, void *ctx)
static int console_socket_init(struct ge *ge, void *ctx)

Definition at line 209 of file console_socket.c.

◆ console_socket_fd

int console_socket_fd = -1
static

Definition at line 15 of file console_socket.c.

◆ socket_path

const char socket_path[] = "/tmp/gemu.console"
static

Definition at line 14 of file console_socket.c.