Merge branch 'x86-platform-for-linus' of git://git.kernel.org/pub/scm/linux/kernel...
[pandora-kernel.git] / drivers / staging / bcm / PHSModule.h
1 #ifndef BCM_MINIPORT_PHSMODULE_H
2 #define BCM_MINIPORT_PHSMODULE_H
3
4 int 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
12 int PHSRecieve(PMINI_ADAPTER Adapter,
13                                         USHORT usVcid,
14                                         struct sk_buff *packet,
15                                         UINT *punPacketLen,
16                                         UCHAR *pucEthernetHdr,
17                                         UINT
18                                         );
19
20
21 void DumpDataPacketHeader(PUCHAR pPkt);
22
23 void DumpFullPacket(UCHAR *pBuf,UINT nPktLen);
24
25 void DumpPhsRules(PPHS_DEVICE_EXTENSION pDeviceExtension);
26
27
28 int phs_init(PPHS_DEVICE_EXTENSION pPhsdeviceExtension,PMINI_ADAPTER Adapter);
29
30 void free_phs_serviceflow_rules(S_SERVICEFLOW_TABLE *psServiceFlowRulesTable);
31
32 int 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
36 int 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
39 int phs_decompress(unsigned char *in_buf,unsigned char *out_buf,\
40                                                   S_PHS_RULE   *phs_rules,UINT *header_size);
41
42
43 int PhsCleanup(PPHS_DEVICE_EXTENSION pPHSDeviceExt);
44
45 //Utility Functions
46 ULONG PhsUpdateClassifierRule(void* pvContext,B_UINT16 uiVcid,B_UINT16 uiClsId,S_PHS_RULE *psPhsRule,B_UINT8  u8AssociatedPHSI );
47
48 ULONG PhsDeletePHSRule(void* pvContext,B_UINT16 uiVcid,B_UINT8 u8PHSI);
49
50 ULONG PhsDeleteClassifierRule(void* pvContext, B_UINT16 uiVcid ,B_UINT16  uiClsId);
51
52 ULONG PhsDeleteSFRules(void* pvContext,B_UINT16 uiVcid) ;
53
54
55 ULONG PhsCompress(void* pvContext,
56                                   B_UINT16 uiVcid,
57                                   B_UINT16 uiClsId,
58                                   void *pvInputBuffer,
59                                   void *pvOutputBuffer,
60                                   UINT *pOldHeaderSize,
61                                   UINT *pNewHeaderSize );
62
63 ULONG PhsDeCompress(void* pvContext,
64                                   B_UINT16 uiVcid,
65                                   void *pvInputBuffer,
66                                   void *pvOutputBuffer,
67                                   UINT *pInHeaderSize,
68                                   UINT *pOutHeaderSize);
69
70
71 BOOLEAN ValidatePHSRule(S_PHS_RULE *psPhsRule);
72
73 BOOLEAN ValidatePHSRuleComplete(S_PHS_RULE *psPhsRule);
74
75 UINT GetServiceFlowEntry(S_SERVICEFLOW_TABLE *psServiceFlowTable,B_UINT16 uiVcid,S_SERVICEFLOW_ENTRY **ppstServiceFlowEntry);
76
77 UINT GetClassifierEntry(S_CLASSIFIER_TABLE *pstClassifierTable,B_UINT32 uiClsid,E_CLASSIFIER_ENTRY_CONTEXT eClsContext, S_CLASSIFIER_ENTRY **ppstClassifierEntry);
78
79 UINT GetPhsRuleEntry(S_CLASSIFIER_TABLE *pstClassifierTable,B_UINT32 uiPHSI,E_CLASSIFIER_ENTRY_CONTEXT eClsContext,S_PHS_RULE **ppstPhsRule);
80
81
82 UINT CreateSFToClassifierRuleMapping(B_UINT16 uiVcid,B_UINT16  uiClsId,S_SERVICEFLOW_TABLE *psServiceFlowTable,S_PHS_RULE *psPhsRule,B_UINT8 u8AssociatedPHSI);
83
84 UINT CreateClassiferToPHSRuleMapping(B_UINT16 uiVcid,B_UINT16  uiClsId,S_SERVICEFLOW_ENTRY *pstServiceFlowEntry,S_PHS_RULE *psPhsRule,B_UINT8 u8AssociatedPHSI);
85
86 UINT CreateClassifierPHSRule(B_UINT16  uiClsId,S_CLASSIFIER_TABLE *psaClassifiertable ,S_PHS_RULE *psPhsRule,E_CLASSIFIER_ENTRY_CONTEXT eClsContext,B_UINT8 u8AssociatedPHSI);
87
88 UINT UpdateClassifierPHSRule(B_UINT16  uiClsId,S_CLASSIFIER_ENTRY *pstClassifierEntry,S_CLASSIFIER_TABLE *psaClassifiertable ,S_PHS_RULE *psPhsRule,B_UINT8 u8AssociatedPHSI);
89
90 BOOLEAN DerefPhsRule(B_UINT16  uiClsId,S_CLASSIFIER_TABLE *psaClassifiertable,S_PHS_RULE *pstPhsRule);
91
92 void DumpPhsRules(PPHS_DEVICE_EXTENSION pDeviceExtension);
93
94
95 #endif