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