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