00001 #ifndef iledef_h 00002 #define iledef_h 00003 00004 /* 00005 ** 32 bit item list entry 3 structure 00006 */ 00007 00008 struct _ile3 00009 { 00010 unsigned short int ile3_w_length; /* Length of buffer in bytes */ 00011 unsigned short int ile3_w_code; /* Item code */ 00012 void *ile3_ps_bufaddr; /* 32 bit buffer address */ 00013 unsigned short int *ile3_ps_retlen_addr; /* 32 bit address of a word for the returned length */ 00014 }; 00015 #define ILE3_K_LENGTH sizeof(struct _ile3) 00016 #define ILE3_C_LENGTH sizeof(struct _ile3) 00017 00018 /* 00019 ** 64-Bit Item List Entry B structure. This is the 64 bit item list 3 structure. 00020 */ 00021 00022 struct _ileb_64 00023 { 00024 unsigned short int ileb_64_w_mbo; /* Must be One */ 00025 unsigned short int ileb_64_w_code; /* Item code */ 00026 int ileb_64_l_mbmo; /* Must be Minus One */ 00027 unsigned long long ileb_64_q_length; /* Length of buffer in bytes */ 00028 void *ileb_64_pq_bufaddr; /* 64 bit Buffer pointer */ 00029 unsigned long long *ileb_64_pq_retlen_addr; /* 64 bit address of quadword for returned length */ 00030 }; 00031 #define ILEB_64_K_LENGTH sizeof(struct _ileb_64) 00032 #define ILEB_64_C_LENGTH sizeof(struct _ileb_64) 00033 00034 /* 00035 ** 32-bit Item List Entry 2 structure 00036 */ 00037 00038 struct _ile2 00039 { 00040 unsigned short int ile2_w_length; /* Length of buffer in bytes */ 00041 unsigned short int ile2_w_code; /* Item code value */ 00042 void *ile2_ps_bufaddr; /* 32 bit buffer address */ 00043 }; 00044 #define ILE2_K_LENGTH sizeof(struct _ile2) 00045 #define ILE2_C_LENGTH sizeof(struct _ile2) 00046 00047 /* 00048 ** 64-Bit Item List Entry 2 structure. 00049 */ 00050 00051 struct _ilea_64 00052 { 00053 unsigned short int ilea_64_w_mbo; /* Must be One */ 00054 unsigned short int ilea_64_w_code; /* Item code */ 00055 int ilea_64_l_mbmo; /* Must be Minus One */ 00056 unsigned long long ilea_64_q_length; /* Length of buffer in bytes */ 00057 void *ilea_64_pq_bufaddr; /* 64 bit Buffer address */ 00058 }; 00059 #define ILEA_64_K_LENGTH sizeof(struct _ilea_64) 00060 #define ILEA_64_C_LENGTH sizeof(struct _ilea_64) 00061 00062 #define _is_itmlst64 _is_itmlst64 00063 inline int _is_itmlst64(const void *item_list) 00064 { 00065 return ((const struct _ilea_64 *)item_list)->ilea_64_w_mbo == 1 && 00066 ((const struct _ilea_64 *)item_list)->ilea_64_l_mbmo == -1; 00067 } 00068 #endif 00069