📄 dcerpc.h
字号:
* * Purpose: * * Arguments: * * Returns: * ********************************************************************/static INLINE uint16_t DceRpcClLen(const DceRpcClHdr *cl){ return DceRpcNtohs(cl->len, DceRpcClByteOrder(cl));}/******************************************************************** * Function: * * Purpose: * * Arguments: * * Returns: * ********************************************************************/static INLINE int DceRpcClFrag(const DceRpcClHdr *cl){ if (DceRpcClFragFlag(cl)) { if (DceRpcClLastFrag(cl) && (DceRpcClFragNum(cl) == 0)) return 0; return 1; } return 0;}/******************************************************************** * Function: * * Purpose: * * Arguments: * * Returns: * ********************************************************************/static INLINE uint8_t DceRpcCoVersMaj(const DceRpcCoHdr *co){ return co->pversion.major;}/******************************************************************** * Function: * * Purpose: * * Arguments: * * Returns: * ********************************************************************/static INLINE uint8_t DceRpcCoVersMin(const DceRpcCoHdr *co){ return co->pversion.minor;}/******************************************************************** * Function: * * Purpose: * * Arguments: * * Returns: * ********************************************************************/static INLINE DceRpcPduType DceRpcCoPduType(const DceRpcCoHdr *co){ return co->ptype;}/******************************************************************** * Function: * * Purpose: * * Arguments: * * Returns: * ********************************************************************/static INLINE int DceRpcCoFirstFrag(const DceRpcCoHdr *co){ return co->pfc_flags & DCERPC_CO_PFC_FLAGS__FIRST_FRAG;}/******************************************************************** * Function: * * Purpose: * * Arguments: * * Returns: * ********************************************************************/static INLINE int DceRpcCoLastFrag(const DceRpcCoHdr *co){ return co->pfc_flags & DCERPC_CO_PFC_FLAGS__LAST_FRAG;}/******************************************************************** * Function: * * Purpose: * * Arguments: * * Returns: * ********************************************************************/static INLINE int DceRpcCoObjectFlag(const DceRpcCoHdr *co){ return co->pfc_flags & DCERPC_CO_PFC_FLAGS__OBJECT_UUID;}/******************************************************************** * Function: * * Purpose: * * Arguments: * * Returns: * ********************************************************************/static INLINE DceRpcBoFlag DceRpcCoByteOrder(const DceRpcCoHdr *co){ return DceRpcByteOrder(co->packed_drep[0]);}/******************************************************************** * Function: * * Purpose: * * Arguments: * * Returns: * ********************************************************************/static INLINE uint16_t DceRpcCoFragLen(const DceRpcCoHdr *co){ return DceRpcNtohs(co->frag_length, DceRpcCoByteOrder(co));}/******************************************************************** * Function: * * Purpose: * * Arguments: * * Returns: * ********************************************************************/static INLINE uint16_t DceRpcCoAuthLen(const DceRpcCoHdr *co){ return DceRpcNtohs(co->auth_length, DceRpcCoByteOrder(co));}/******************************************************************** * Function: * * Purpose: * * Arguments: * * Returns: * ********************************************************************/static INLINE uint32_t DceRpcCoCallId(const DceRpcCoHdr *co){ return DceRpcNtohl(co->call_id, DceRpcCoByteOrder(co));}/******************************************************************** * Function: * * Purpose: * * Arguments: * * Returns: * ********************************************************************/static INLINE uint16_t DceRpcCoOpnum(const DceRpcCoHdr *co, const DceRpcCoRequest *cor){ return DceRpcNtohs(cor->opnum, DceRpcCoByteOrder(co));}/******************************************************************** * Function: * * Purpose: * * Arguments: * * Returns: * ********************************************************************/static INLINE uint16_t DceRpcCoCtxId(const DceRpcCoHdr *co, const DceRpcCoRequest *cor){ return DceRpcNtohs(cor->context_id, DceRpcCoByteOrder(co));}/******************************************************************** * Function: * * Purpose: * * Arguments: * * Returns: * ********************************************************************/static INLINE uint16_t DceRpcCoCtxIdResp(const DceRpcCoHdr *co, const DceRpcCoResponse *cor){ return DceRpcNtohs(cor->context_id, DceRpcCoByteOrder(co));}/******************************************************************** * Function: * * Purpose: * * Arguments: * * Returns: * ********************************************************************/static INLINE uint16_t DceRpcCoBindMaxXmitFrag(const DceRpcCoHdr *co, const DceRpcCoBind *cob){ return DceRpcNtohs(cob->max_xmit_frag, DceRpcCoByteOrder(co));}/******************************************************************** * Function: * * Purpose: * * Arguments: * * Returns: * ********************************************************************/static INLINE uint16_t DceRpcCoBindAckMaxRecvFrag(const DceRpcCoHdr *co, const DceRpcCoBindAck *coba){ return DceRpcNtohs(coba->max_recv_frag, DceRpcCoByteOrder(co));}/******************************************************************** * Function: * * Purpose: * * Arguments: * * Returns: * ********************************************************************/static INLINE uint8_t DceRpcCoNumCtxItems(const DceRpcCoBind *cob){ return cob->n_context_elem;}/******************************************************************** * Function: * * Purpose: * * Arguments: * * Returns: * ********************************************************************/static INLINE uint16_t DceRpcCoContElemCtxId(const DceRpcCoHdr *co, const DceRpcCoContElem *coce){ return DceRpcNtohs(coce->p_cont_id, DceRpcCoByteOrder(co));}/******************************************************************** * Function: * * Purpose: * * Arguments: * * Returns: * ********************************************************************/static INLINE uint8_t DceRpcCoContElemNumTransSyntaxes(const DceRpcCoContElem *coce){ return coce->n_transfer_syn;}/******************************************************************** * Function: * * Purpose: * * Arguments: * * Returns: * ********************************************************************/static INLINE const Uuid * DceRpcCoContElemIface(const DceRpcCoContElem *coce){ return &coce->abstract_syntax.if_uuid;}/******************************************************************** * Function: * * Purpose: * * Arguments: * * Returns: * ********************************************************************/static INLINE uint16_t DceRpcCoContElemIfaceVersMaj(const DceRpcCoHdr *co, const DceRpcCoContElem *coce){ return (uint16_t)(DceRpcNtohl(coce->abstract_syntax.if_version, DceRpcCoByteOrder(co)) & 0x0000ffff);}/******************************************************************** * Function: * * Purpose: * * Arguments: * * Returns: * ********************************************************************/static INLINE uint16_t DceRpcCoContElemIfaceVersMin(const DceRpcCoHdr *co, const DceRpcCoContElem *coce){ return (uint16_t)(DceRpcNtohl(coce->abstract_syntax.if_version, DceRpcCoByteOrder(co)) >> 16);}/******************************************************************** * Function: * * Purpose: * * Arguments: * * Returns: * ********************************************************************/static INLINE uint16_t DceRpcCoSecAddrLen(const DceRpcCoHdr *co, const DceRpcCoBindAck *coba){ return DceRpcNtohs(coba->sec_addr_len, DceRpcCoByteOrder(co));}/******************************************************************** * Function: * * Purpose: * * Arguments: * * Returns: * ********************************************************************/static INLINE uint8_t DceRpcCoContNumResults(const DceRpcCoContResultList *cocrl){ return cocrl->n_results;}/******************************************************************** * Function: * * Purpose: * * Arguments: * * Returns: * ********************************************************************/static INLINE uint16_t DceRpcCoContRes(const DceRpcCoHdr *co, const DceRpcCoContResult *cocr){ return DceRpcNtohs(cocr->result, DceRpcCoByteOrder(co));}/******************************************************************** * Function: * * Purpose: * * Arguments: * * Returns: * ********************************************************************/static INLINE uint16_t DceRpcCoAuthPad(const DceRpcCoAuthVerifier *coav){ return coav->auth_pad_length;}#endif /* DCERPC_H */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -