00001 #ifndef lckctxdef_h 00002 #define lckctxdef_h 00003 00004 #define LCKCTX_M_BUSY 0x1 00005 #define LCKCTX_M_CANCEL 0x2 00006 #define LCKCTX_M_CMP_RQD 0x4 00007 #define LCKCTX_K_LEN 200 00008 #define LCKCTX_C_LEN 200 00009 #define LCKCTX_S_LCKCTXDEF 200 00010 00011 struct _lckctx { 00012 struct { 00013 void *lckctx_l_fqfl; 00014 void *lckctx_l_fqbl; 00015 unsigned short int lckctx_w_size; 00016 unsigned char lckctx_b_type; 00017 unsigned char lckctx_b_flck; 00018 void (*lckctx_l_fpc)(void); 00019 unsigned long lckctx_l_fr3; 00020 unsigned long lckctx_l_fr4; 00021 }; /* fkb */ 00022 union { 00023 unsigned int lckctx_l_flags; 00024 struct { 00025 unsigned lckctx_v_busy : 1; 00026 unsigned lckctx_v_cancel : 1; 00027 unsigned lckctx_v_cmp_rqd : 1; 00028 unsigned lckctx_v_fill_0_ : 5; 00029 } ; 00030 } ; 00031 char lckctx_b_fill_1_ [4]; 00032 struct _lkb *lckctx_q_lkb; 00033 union { 00034 struct { 00035 unsigned long long lckctx_q_cr3; 00036 unsigned long long lckctx_q_cr4; 00037 unsigned long long lckctx_q_cr5; 00038 void *lckctx_pq_ret1; 00039 unsigned long long lckctx_q_tmp1; 00040 }; 00041 struct { 00042 void *lckctx_pq_cpladr; 00043 unsigned long long lckctx_q_cplprm; 00044 }; 00045 }; 00046 union { 00047 char lckctx_b_args [112]; 00048 struct { 00049 unsigned long long lckctx_q_enq_lock_acmode; 00050 unsigned long long lckctx_q_enq_lkmode; 00051 unsigned long long lckctx_q_enq_lksb; 00052 unsigned long long lckctx_q_enq_flags; 00053 unsigned long long lckctx_q_enq_resnam; 00054 unsigned long long lckctx_q_enq_parid; 00055 unsigned long long lckctx_q_enq_cmp_adr; 00056 unsigned long long lckctx_q_enq_ctx_prm1; 00057 unsigned long long lckctx_q_enq_ctx_prm2; 00058 unsigned long long lckctx_q_enq_ctx_prm3; 00059 unsigned long long lckctx_q_enq_blk_adr; 00060 unsigned long long lckctx_q_enq_name_acmode; 00061 unsigned long long lckctx_q_enq_priority; 00062 void *lckctx_pq_enq_req_acpted_adr; 00063 }; 00064 struct { 00065 unsigned long long lckctx_q_deq_lockid; 00066 unsigned long long lckctx_q_deq_valblk; 00067 unsigned long long lckctx_q_deq_flags; 00068 unsigned long long lckctx_q_deq_ctx_prm1; 00069 unsigned long long lckctx_q_deq_ctx_prm2; 00070 unsigned long long lckctx_q_deq_ctx_prm3; 00071 void *lckctx_pq_deq_retadr; 00072 } ; 00073 }; 00074 }; 00075 00076 #endif 00077 00078