at v2.6.37-rc2 95 lines 3.4 kB view raw
1#ifndef BCM_MINIPORT_PHSMODULE_H 2#define BCM_MINIPORT_PHSMODULE_H 3 4int PHSTransmit(PMINI_ADAPTER Adapter, 5 struct sk_buff **pPacket, 6 USHORT Vcid, 7 B_UINT16 uiClassifierRuleID, 8 BOOLEAN bHeaderSuppressionEnabled, 9 PUINT PacketLen, 10 UCHAR bEthCSSupport); 11 12int PHSRecieve(PMINI_ADAPTER Adapter, 13 USHORT usVcid, 14 struct sk_buff *packet, 15 UINT *punPacketLen, 16 UCHAR *pucEthernetHdr, 17 UINT 18 ); 19 20 21void DumpDataPacketHeader(PUCHAR pPkt); 22 23void DumpFullPacket(UCHAR *pBuf,UINT nPktLen); 24 25void DumpPhsRules(PPHS_DEVICE_EXTENSION pDeviceExtension); 26 27 28int phs_init(PPHS_DEVICE_EXTENSION pPhsdeviceExtension,PMINI_ADAPTER Adapter); 29 30void free_phs_serviceflow_rules(S_SERVICEFLOW_TABLE *psServiceFlowRulesTable); 31 32int phs_compress(S_PHS_RULE *phs_members,unsigned char *in_buf, 33 unsigned char *out_buf,unsigned int *header_size,UINT *new_header_size ); 34 35 36int verify_suppress_phsf(unsigned char *in_buffer,unsigned char *out_buffer, 37 unsigned char *phsf,unsigned char *phsm,unsigned int phss,unsigned int phsv,UINT *new_header_size ); 38 39int phs_decompress(unsigned char *in_buf,unsigned char *out_buf,\ 40 S_PHS_RULE *phs_rules,UINT *header_size); 41 42 43int PhsCleanup(PPHS_DEVICE_EXTENSION pPHSDeviceExt); 44 45//Utility Functions 46ULONG PhsUpdateClassifierRule(void* pvContext,B_UINT16 uiVcid,B_UINT16 uiClsId,S_PHS_RULE *psPhsRule,B_UINT8 u8AssociatedPHSI ); 47 48ULONG PhsDeletePHSRule(void* pvContext,B_UINT16 uiVcid,B_UINT8 u8PHSI); 49 50ULONG PhsDeleteClassifierRule(void* pvContext, B_UINT16 uiVcid ,B_UINT16 uiClsId); 51 52ULONG PhsDeleteSFRules(void* pvContext,B_UINT16 uiVcid) ; 53 54 55ULONG PhsCompress(void* pvContext, 56 B_UINT16 uiVcid, 57 B_UINT16 uiClsId, 58 void *pvInputBuffer, 59 void *pvOutputBuffer, 60 UINT *pOldHeaderSize, 61 UINT *pNewHeaderSize ); 62 63ULONG PhsDeCompress(void* pvContext, 64 B_UINT16 uiVcid, 65 void *pvInputBuffer, 66 void *pvOutputBuffer, 67 UINT *pInHeaderSize, 68 UINT *pOutHeaderSize); 69 70 71BOOLEAN ValidatePHSRule(S_PHS_RULE *psPhsRule); 72 73BOOLEAN ValidatePHSRuleComplete(S_PHS_RULE *psPhsRule); 74 75UINT GetServiceFlowEntry(S_SERVICEFLOW_TABLE *psServiceFlowTable,B_UINT16 uiVcid,S_SERVICEFLOW_ENTRY **ppstServiceFlowEntry); 76 77UINT GetClassifierEntry(S_CLASSIFIER_TABLE *pstClassifierTable,B_UINT32 uiClsid,E_CLASSIFIER_ENTRY_CONTEXT eClsContext, S_CLASSIFIER_ENTRY **ppstClassifierEntry); 78 79UINT GetPhsRuleEntry(S_CLASSIFIER_TABLE *pstClassifierTable,B_UINT32 uiPHSI,E_CLASSIFIER_ENTRY_CONTEXT eClsContext,S_PHS_RULE **ppstPhsRule); 80 81 82UINT CreateSFToClassifierRuleMapping(B_UINT16 uiVcid,B_UINT16 uiClsId,S_SERVICEFLOW_TABLE *psServiceFlowTable,S_PHS_RULE *psPhsRule,B_UINT8 u8AssociatedPHSI); 83 84UINT CreateClassiferToPHSRuleMapping(B_UINT16 uiVcid,B_UINT16 uiClsId,S_SERVICEFLOW_ENTRY *pstServiceFlowEntry,S_PHS_RULE *psPhsRule,B_UINT8 u8AssociatedPHSI); 85 86UINT CreateClassifierPHSRule(B_UINT16 uiClsId,S_CLASSIFIER_TABLE *psaClassifiertable ,S_PHS_RULE *psPhsRule,E_CLASSIFIER_ENTRY_CONTEXT eClsContext,B_UINT8 u8AssociatedPHSI); 87 88UINT UpdateClassifierPHSRule(B_UINT16 uiClsId,S_CLASSIFIER_ENTRY *pstClassifierEntry,S_CLASSIFIER_TABLE *psaClassifiertable ,S_PHS_RULE *psPhsRule,B_UINT8 u8AssociatedPHSI); 89 90BOOLEAN DerefPhsRule(B_UINT16 uiClsId,S_CLASSIFIER_TABLE *psaClassifiertable,S_PHS_RULE *pstPhsRule); 91 92void DumpPhsRules(PPHS_DEVICE_EXTENSION pDeviceExtension); 93 94 95#endif