xref: /csrg-svn/usr.bin/tn3270/api/api_exch.h (revision 31461)
1*31461Sminshall /*
2*31461Sminshall  * This file describes the structures passed back and forth
3*31461Sminshall  * between the API client and API server on a Unix-based
4*31461Sminshall  * tn3270 implementation.
5*31461Sminshall  */
6*31461Sminshall 
7*31461Sminshall 
8*31461Sminshall #define	EXCH_CONNECT	23	/* Connect request [client->server] */
9*31461Sminshall #define	EXCH_SEND_AUTH	44	/* Send auth (password) [server->client] */
10*31461Sminshall 	/*
11*31461Sminshall 	 * struct storeage_desc
12*31461Sminshall 	 * char prompt[]
13*31461Sminshall 	 * struct storeage_desc
14*31461Sminshall 	 * char seed[]
15*31461Sminshall 	 */
16*31461Sminshall #define	EXCH_AUTH	65	/* Authorization [client->server] */
17*31461Sminshall 	/*
18*31461Sminshall 	 * struct storeage_desc
19*31461Sminshall 	 * char authenticator[]
20*31461Sminshall 	 */
21*31461Sminshall #define	EXCH_CONNECTED	78	/* You are now connected [server->client] */
22*31461Sminshall #define	EXCH_REJECTED	93	/* Too bad [server->client] */
23*31461Sminshall 	/*
24*31461Sminshall 	 * struct storeage_desc
25*31461Sminshall 	 * char message[]
26*31461Sminshall 	 */
27*31461Sminshall 
28*31461Sminshall #define	EXCH_REQUEST	19	/* A request [client->server] */
29*31461Sminshall 	/* struct regs,
30*31461Sminshall 	 * struct sregs,
31*31461Sminshall 	 * struct storage_desc
32*31461Sminshall 	 * char bytes[]
33*31461Sminshall 	 */
34*31461Sminshall #define	EXCH_GIMME	20	/* I need client storage [server->client] */
35*31461Sminshall 	/*
36*31461Sminshall 	 * struct storage_desc
37*31461Sminshall 	 */
38*31461Sminshall #define	EXCH_HEREIS	49	/* Here is some storage [BOTH WAYS] */
39*31461Sminshall 	/*
40*31461Sminshall 	 * struct storage_desc
41*31461Sminshall 	 * char bytes[]
42*31461Sminshall 	 */
43*31461Sminshall #define	EXCH_REPLY	87	/* End of discussion */
44*31461Sminshall 	/*
45*31461Sminshall 	 * struct regs,
46*31461Sminshall 	 * struct sregs,
47*31461Sminshall 	 */
48*31461Sminshall 
49*31461Sminshall #define	EXCH_TYPE_REGS		13
50*31461Sminshall #define	EXCH_TYPE_SREGS		27
51*31461Sminshall #define	EXCH_TYPE_STORE_DESC	33
52*31461Sminshall #define	EXCH_TYPE_BYTES		67
53*31461Sminshall 
54*31461Sminshall /*
55*31461Sminshall  * each structure that comes over looks like:
56*31461Sminshall  *
57*31461Sminshall  *	char			type of following
58*31461Sminshall  *	short (2 bytes)		length of following (network byte order)
59*31461Sminshall  *	following
60*31461Sminshall  */
61*31461Sminshall 
62*31461Sminshall struct storage_descriptor {
63*31461Sminshall     long	location;	/* In network byte order */
64*31461Sminshall     short	length;		/* In network byte order */
65*31461Sminshall };
66