00001 #ifndef clidef_h 00002 #define clidef_h 00003 00004 #define CLI_M_DEBUG 0x1 00005 #define CLI_M_DBGTRU 0x2 00006 #define CLI_M_VERIFY 0x4 00007 #define CLI_M_BATCH 0x8 00008 #define CLI_M_INDIRECT 0x10 00009 #define CLI_M_VFYINP 0x20 00010 #define CLI_M_TRMVRBLV 0x300 00011 #define CLI_M_DBGEXCP 0x10000 00012 00013 #define CLI_K_WORKAREA 128 00014 #define CLI_C_WORKAREA 128 00015 00016 #define CLI_K_UTILOPR 0 00017 #define CLI_K_INPSPEC 1 00018 #define CLI_K_OUTSPEC 2 00019 #define CLI_K_PARDONE 3 00020 #define CLI_K_VALCONV 4 00021 #define CLI_K_CLINT 5 00022 00023 #define CLI_K_INITPRS 0 00024 #define CLI_K_GETCMD 1 00025 #define CLI_K_GETQUAL 2 00026 #define CLI_K_GETOPT 3 00027 #define CLI_K_GETLINE 4 00028 00029 #define CLI_K_CLISERV 5 00030 00031 #define CLI_K_INPUT1 16 00032 #define CLI_K_INPUT2 17 00033 #define CLI_K_INPUT3 18 00034 #define CLI_K_INPUT4 19 00035 00036 #define CLI_M_PARMREQ 0x1 00037 #define CLI_M_ABSADR 0x2 00038 #define CLI_M_EXPNAM 0x4 00039 #define CLI_M_LASTVAL 0x1 00040 #define CLI_M_DUMMY 0x2 00041 #define CLI_M_PARMPRS 0x1 00042 #define CLI_M_CONCATINP 0x2 00043 #define CLI_M_MOREINP 0x4 00044 #define CLI_M_PARMDEF 0x8 00045 #define CLI_M_MOREVALS 0x1 00046 #define CLI_M_KEYVALU 0x2 00047 #define CLI_K_REQDESC 28 00048 #define CLI_C_REQDESC 28 00049 00050 #define CLI_K_OUTPUT1 32 00051 #define CLI_K_OUTPUT2 33 00052 #define CLI_K_OUTPUT3 34 00053 #define CLI_K_OUTPUT4 35 00054 00055 #define CLI_K_ENDPRM1 48 00056 #define CLI_K_ENDPRM2 49 00057 #define CLI_K_ENDPRM3 50 00058 #define CLI_K_ENDPRM4 51 00059 00060 #define CLI_K_NUMERVAL 64 00061 #define CLI_K_ASCIIVAL 65 00062 #define CLI_K_KEYWORD 66 00063 #define CLI_K_KEYVAL 67 00064 #define CLI_K_FILSPEC 68 00065 00066 #define CLI_K_PRESENT 80 00067 #define CLI_K_GETVALUE 81 00068 #define CLI_K_ENDPARSE 82 00069 #define CLI_K_DCLPARSE 83 00070 #define CLI_K_DISPATCH 84 00071 #define CLI_K_NEXTQUAL 85 00072 00073 #define CLI_M_NOWAIT 0x1 00074 #define CLI_M_NOCLISYM 0x2 00075 #define CLI_M_NOLOGNAM 0x4 00076 #define CLI_M_NOKEYPAD 0x8 00077 #define CLI_M_NOTIFY 0x10 00078 #define CLI_M_NOCONTROL 0x20 00079 #define CLI_M_TRUSTED 0x40 00080 #define CLI_M_AUTHPRIV 0x80 00081 #define CLI_M_SUBSYSTEM 0x100 00082 #define CLI_K_SPAWN_VERSION 1 00083 #define CLI_C_SPAWN_VERSION 1 00084 #define CLI_K_SRVDESC 84 00085 #define CLI_C_SRVDESC 84 00086 00087 #define CLI_M_ALLOCCUR 0x1 00088 #define CLI_M_QDUSRV 0x2 00089 #define CLI_M_QDEXPA 0x4 00090 #define CLI_M_QUALTRU 0x1 00091 #define CLI_M_QUALEXP 0x2 00092 #define CLI_K_QUALDEF 20 00093 #define CLI_C_QUALDEF 20 00094 #define CLI_K_QDBITS 20 00095 #define CLI_C_QDBITS 20 00096 00097 struct _clidef { 00098 unsigned int cli_l_iniargcnt; 00099 void *cli_a_progxfer; 00100 void *cli_a_utilserv; 00101 void *cli_a_imghdadr; 00102 void *cli_a_imgfiled; 00103 unsigned int cli_l_linkflag; 00104 union { 00105 unsigned int cli_l_cliflag; 00106 struct { 00107 unsigned cli_v_debug : 1; 00108 unsigned cli_v_dbgtru : 1; 00109 unsigned cli_v_verify : 1; 00110 unsigned cli_v_batch : 1; 00111 unsigned cli_v_indirect : 1; 00112 unsigned cli_v_vfyinp : 1; 00113 unsigned clidef_$_fill_1 : 2; 00114 unsigned cli_v_trmvrblv : 2; 00115 unsigned clidef_$_fill_2 : 6; 00116 unsigned cli_v_dbgexcp : 1; 00117 unsigned cli_v_fill_93_ : 7; 00118 }; 00119 00120 }; 00121 int cli_l_arglist; 00122 00123 }; 00124 00125 struct _clidef1 { 00126 union { 00127 int clidef_$_fill_3; 00128 struct { 00129 union { 00130 unsigned char cli_b_rqtype; 00131 struct { 00132 unsigned cli_v_subtyp : 4; 00133 unsigned cli_v_prityp : 4; 00134 }; 00135 }; 00136 union { 00137 unsigned short int cli_w_servcod; 00138 struct { 00139 union { 00140 unsigned char cli_b_rqindx; 00141 unsigned char cli_b_bitnum; 00142 }; 00143 union { 00144 unsigned char cli_b_rqflgs; 00145 struct { 00146 unsigned cli_v_parmreq : 1; 00147 unsigned cli_v_absadr : 1; 00148 unsigned cli_v_expnam : 1; 00149 unsigned cli_v_fill_94_ : 5; 00150 }; 00151 struct { 00152 unsigned cli_v_lastval : 1; 00153 unsigned cli_v_dummy : 1; 00154 unsigned cli_v_fill_95_ : 6; 00155 }; 00156 }; 00157 }; 00158 }; 00159 union { 00160 unsigned char cli_b_rqstat; 00161 struct { 00162 unsigned cli_v_parmprs : 1; 00163 unsigned cli_v_concatinp : 1; 00164 unsigned cli_v_moreinp : 1; 00165 unsigned cli_v_parmdef : 1; 00166 unsigned cli_v_fill_96_ : 4; 00167 }; 00168 struct { 00169 unsigned cli_v_morevals : 1; 00170 unsigned cli_v_keyvalu : 1; 00171 unsigned cli_v_fill_97_ : 6; 00172 }; 00173 }; 00174 }; 00175 }; 00176 void *cli_a_erract; 00177 union { 00178 unsigned long long cli_q_rqdesc; 00179 struct { 00180 unsigned short int cli_w_rqsize; 00181 short int clidef_$_fill_4; 00182 union { 00183 unsigned int cli_l_rqvalu; 00184 void *cli_a_rqaddr; 00185 }; 00186 }; 00187 }; 00188 void *cli_a_prsact; 00189 void *cli_a_absact; 00190 void *cli_a_qualst; 00191 00192 }; 00193 00194 00195 00196 struct _clidef2 { 00197 char clidef_$_fill_8 [8]; // check. was 4. or fix "align" in def1 00198 unsigned long long cli_q_namdesc; 00199 unsigned long long cli_q_valdesc; 00200 unsigned long long cli_q_tabdesc; 00201 int cli_l_itmlst; 00202 int cli_l_attr; 00203 00204 }; 00205 struct _clidef3 { 00206 char clidef_$_fill_9 [4]; 00207 unsigned int cli_l_new_mask; 00208 unsigned int cli_l_old_mask; 00209 00210 }; 00211 struct _clidef4 { 00212 char clidef_$_fill_10 [4]; 00213 unsigned int cli_l_pid; 00214 00215 }; 00216 00217 struct _clidef5 { 00218 char clidef_$_fill_11 [4]; 00219 union { 00220 unsigned char cli_b_flags; 00221 unsigned short int cli_w_flags; 00222 struct { 00223 unsigned cli_v_nowait : 1; 00224 unsigned cli_v_noclisym : 1; 00225 unsigned cli_v_nolognam : 1; 00226 unsigned cli_v_nokeypad : 1; 00227 unsigned cli_v_notify : 1; 00228 unsigned cli_v_nocontrol : 1; 00229 unsigned cli_v_trusted : 1; 00230 unsigned cli_v_authpriv : 1; 00231 unsigned cli_v_subsystem : 1; 00232 unsigned cli_v_fill_98_ : 7; 00233 }; 00234 }; 00235 char clidef_$_fill_5 [2]; 00236 unsigned int cli_l_outpid; 00237 int cli_l_lststatus; 00238 unsigned long long cli_q_cmdstr; 00239 unsigned long long cli_q_input; 00240 unsigned long long cli_q_output; 00241 unsigned long long cli_q_prcnam; 00242 int cli_l_astadr; 00243 int cli_l_astprm; 00244 unsigned char cli_b_efn; 00245 unsigned char cli_b_version; 00246 char clidef_$_fill_6 [2]; 00247 unsigned long long cli_q_prompt; 00248 unsigned long long cli_q_cli; 00249 unsigned long long cli_q_table; 00250 00251 }; 00252 struct _clidef6 { 00253 unsigned char cli_b_qdblksiz; 00254 unsigned char cli_b_qdcode; 00255 union { 00256 unsigned char cli_b_qdflgs; 00257 struct { 00258 unsigned cli_v_alloccur : 1; 00259 unsigned cli_v_qdusrv : 1; 00260 unsigned cli_v_qdexpa : 1; 00261 unsigned cli_v_fill_99_ : 5; 00262 }; 00263 }; 00264 union { 00265 unsigned char cli_b_qdstat; 00266 struct { 00267 unsigned cli_v_qualtru : 1; 00268 unsigned cli_v_qualexp : 1; 00269 unsigned cli_v_fill_100_ : 6; 00270 }; 00271 }; 00272 union { 00273 unsigned long long cli_q_qdvaldesc; 00274 struct { 00275 unsigned short int cli_w_qdvalsiz; 00276 short int clidef_$_fill_7; 00277 void *cli_a_qdvaladr; 00278 }; 00279 }; 00280 void *cli_a_truact; 00281 void *cli_a_flsact; 00282 unsigned int cli_l_usrval; 00283 00284 }; 00285 00286 00287 union _clidef7 { 00288 unsigned int cli_l_workarea [32]; 00289 00290 }; 00291 struct _clidef8 { 00292 char clidef_$_fill_12 [4]; 00293 unsigned int cli_l_codeset; 00294 }; 00295 00296 #endif 00297 00298