xref: /csrg-svn/usr.bin/tn3270/api/api_exch.h (revision 31467)
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  * A command is: <command code> <sequence number> <parameter>*
7  *
8  */
9 
10 
11 #define	EXCH_ASSOCIATE	23	/* Connect request [client->server] */
12 #define	EXCH_SEND_AUTH	44	/* Send auth (password) [server->client] */
13 	/*
14 	 * struct storeage_desc
15 	 * char prompt[]
16 	 * struct storeage_desc
17 	 * char seed[]
18 	 */
19 #define	EXCH_AUTH	65	/* Authorization [client->server] */
20 	/*
21 	 * struct storeage_desc
22 	 * char authenticator[]
23 	 */
24 #define	EXCH_ASSOCIATED	78	/* You are now connected [server->client] */
25 #define	EXCH_REJECTED	93	/* Too bad [server->client] */
26 	/*
27 	 * struct storeage_desc
28 	 * char message[]
29 	 */
30 
31 #define	EXCH_REQUEST	19	/* A request [client->server] */
32 	/* struct regs,
33 	 * struct sregs,
34 	 * struct storage_desc
35 	 * char bytes[]
36 	 */
37 #define	EXCH_GIMME	20	/* I need client storage [server->client] */
38 	/*
39 	 * struct storage_desc
40 	 */
41 #define	EXCH_HEREIS	49	/* Here is some storage [BOTH WAYS] */
42 	/*
43 	 * struct storage_desc
44 	 * char bytes[]
45 	 */
46 #define	EXCH_REPLY	87	/* End of discussion */
47 	/*
48 	 * struct regs,
49 	 * struct sregs,
50 	 */
51 
52 #define	EXCH_TYPE_REGS		13
53 #define	EXCH_TYPE_SREGS		27
54 #define	EXCH_TYPE_STORE_DESC	33
55 #define	EXCH_TYPE_BYTES		67
56 
57 /*
58  * each parameter that comes over looks like:
59  *
60  *	char			type of following
61  *	short (2 bytes)		length of following (network byte order)
62  *	following
63  */
64 
65 struct storage_descriptor {
66     long	location;	/* In network byte order */
67     short	length;		/* In network byte order */
68 };
69