forked from rbowler/spinhawk
-
Notifications
You must be signed in to change notification settings - Fork 3
/
comm3705.h
76 lines (67 loc) · 3.29 KB
/
comm3705.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
/* COMM3705.H (c) Copyright Max H. Parke, 2007-2012 */
/* Hercules 3705 communications controller */
/* running NCP */
#ifndef __COMM3705_H__
#define __COMM3705_H__
#include "hercules.h"
struct COMMADPT
{
DEVBLK *dev; /* the devblk to which this CA is attched */
TID cthread; /* Thread used to control the socket */
TID tthread; /* Thread used to control the socket */
U16 lport; /* Local listening port */
in_addr_t lhost; /* Local listening address */
int sfd; /* Communication socket FD */
int lfd; /* Listen socket for DIAL=IN, INOUT & NO */
COND ipc; /* I/O <-> thread IPC condition EVB */
COND ipc_halt; /* I/O <-> thread IPC HALT special EVB */
LOCK lock; /* COMMADPT lock */
int pipe[2]; /* pipe used for I/O to thread signaling */
char locncpnm[9], /* name of local NCP (in EBCDIC) */
rmtncpnm[9]; /* name of remote NCP (in EBCDIC) */
U16 devnum, /* devnum copy from DEVBLK */
locsuba, /* local NCP or local 3791 node subarea number */
rmtsuba; /* remote NCP subarea number */
U32
have_cthread:1, /* the comm thread is running */
haltpending:1, /* A request has been issued to halt current*/
/* CCW */
bindflag:1,
telnet_opt:1, /* expecting telnet option char */
telnet_iac:1, /* expecting telnet command char */
telnet_int:1, /* telnet interrupt received */
hangup:1, /* host initated shutdown */
is_3270:1, /* 0=tty 1=3270 */
eol_flag:1, /* 1 = CR has been received */
debug_sna:1, /* 1 = write debug messages */
emu3791:1, /* mode (0=default=3705;1=3791) */
idblk, /* IDBLK of switched PU (default=0x017) */
idnum; /* IDNUM of switched PU (default=0x00017) */
U32 rlen3270; /* amt of data in 3270 recv buf */
BYTE telnet_cmd; /* telnet command */
int read_ccw_count;
int write_ccw_count;
int unack_attn_count;
int ncpa_sscp_seqn;
int ncpb_sscp_seqn;
int lu_sscp_seqn;
int lu_lu_seqn;
BYTE inpbuf[65536];
int inpbufl,
unitsz, /* I/O blocksize (default=256) */
ackspeed; /* slow down factor for unacknowledged attn */
void * freeq;
void * sendq;
BYTE * poolarea;
BYTE sscp_addr0;
BYTE sscp_addr1;
BYTE ncp_addr0;
BYTE ncp_addr1;
BYTE pu_addr0;
BYTE pu_addr1;
BYTE lu_addr0;
BYTE lu_addr1;
BYTE tso_addr0;
BYTE tso_addr1;
};
#endif