xref: /csrg-svn/usr.bin/tn3270/api/api_exch.h (revision 31467)
131461Sminshall /*
231461Sminshall  * This file describes the structures passed back and forth
331461Sminshall  * between the API client and API server on a Unix-based
431461Sminshall  * tn3270 implementation.
5*31467Sminshall  *
6*31467Sminshall  * A command is: <command code> <sequence number> <parameter>*
7*31467Sminshall  *
831461Sminshall  */
931461Sminshall 
1031461Sminshall 
11*31467Sminshall #define	EXCH_ASSOCIATE	23	/* Connect request [client->server] */
1231461Sminshall #define	EXCH_SEND_AUTH	44	/* Send auth (password) [server->client] */
1331461Sminshall 	/*
1431461Sminshall 	 * struct storeage_desc
1531461Sminshall 	 * char prompt[]
1631461Sminshall 	 * struct storeage_desc
1731461Sminshall 	 * char seed[]
1831461Sminshall 	 */
1931461Sminshall #define	EXCH_AUTH	65	/* Authorization [client->server] */
2031461Sminshall 	/*
2131461Sminshall 	 * struct storeage_desc
2231461Sminshall 	 * char authenticator[]
2331461Sminshall 	 */
24*31467Sminshall #define	EXCH_ASSOCIATED	78	/* You are now connected [server->client] */
2531461Sminshall #define	EXCH_REJECTED	93	/* Too bad [server->client] */
2631461Sminshall 	/*
2731461Sminshall 	 * struct storeage_desc
2831461Sminshall 	 * char message[]
2931461Sminshall 	 */
3031461Sminshall 
3131461Sminshall #define	EXCH_REQUEST	19	/* A request [client->server] */
3231461Sminshall 	/* struct regs,
3331461Sminshall 	 * struct sregs,
3431461Sminshall 	 * struct storage_desc
3531461Sminshall 	 * char bytes[]
3631461Sminshall 	 */
3731461Sminshall #define	EXCH_GIMME	20	/* I need client storage [server->client] */
3831461Sminshall 	/*
3931461Sminshall 	 * struct storage_desc
4031461Sminshall 	 */
4131461Sminshall #define	EXCH_HEREIS	49	/* Here is some storage [BOTH WAYS] */
4231461Sminshall 	/*
4331461Sminshall 	 * struct storage_desc
4431461Sminshall 	 * char bytes[]
4531461Sminshall 	 */
4631461Sminshall #define	EXCH_REPLY	87	/* End of discussion */
4731461Sminshall 	/*
4831461Sminshall 	 * struct regs,
4931461Sminshall 	 * struct sregs,
5031461Sminshall 	 */
5131461Sminshall 
5231461Sminshall #define	EXCH_TYPE_REGS		13
5331461Sminshall #define	EXCH_TYPE_SREGS		27
5431461Sminshall #define	EXCH_TYPE_STORE_DESC	33
5531461Sminshall #define	EXCH_TYPE_BYTES		67
5631461Sminshall 
5731461Sminshall /*
58*31467Sminshall  * each parameter that comes over looks like:
5931461Sminshall  *
6031461Sminshall  *	char			type of following
6131461Sminshall  *	short (2 bytes)		length of following (network byte order)
6231461Sminshall  *	following
6331461Sminshall  */
6431461Sminshall 
6531461Sminshall struct storage_descriptor {
6631461Sminshall     long	location;	/* In network byte order */
6731461Sminshall     short	length;		/* In network byte order */
6831461Sminshall };
69