1#ifndef _PROTOTYPES_H_
2#define _PROTOTYPES_H_
3
4VOID LinkControlResponseMessage(struct bcm_mini_adapter *Adapter, PUCHAR pucBuffer);
5
6VOID StatisticsResponse(struct bcm_mini_adapter *Adapter, PVOID pvBuffer);
7
8VOID IdleModeResponse(struct bcm_mini_adapter *Adapter, PUINT puiBuffer);
9
10int control_packet_handler(struct bcm_mini_adapter *Adapter);
11
12VOID DeleteAllClassifiersForSF(struct bcm_mini_adapter *Adapter, UINT uiSearchRuleIndex);
13
14VOID flush_all_queues(struct bcm_mini_adapter *Adapter);
15
16int register_control_device_interface(struct bcm_mini_adapter *ps_adapter);
17
18void unregister_control_device_interface(struct bcm_mini_adapter *Adapter);
19
20INT CopyBufferToControlPacket(struct bcm_mini_adapter *Adapter,/**<Logical Adapter*/
21									  PVOID ioBuffer/**<Control Packet Buffer*/
22									  );
23
24VOID SortPackInfo(struct bcm_mini_adapter *Adapter);
25
26VOID SortClassifiers(struct bcm_mini_adapter *Adapter);
27
28VOID flush_all_queues(struct bcm_mini_adapter *Adapter);
29
30VOID PruneQueueAllSF(struct bcm_mini_adapter *Adapter);
31
32INT SearchSfid(struct bcm_mini_adapter *Adapter, UINT uiSfid);
33
34USHORT ClassifyPacket(struct bcm_mini_adapter *Adapter, struct sk_buff *skb);
35
36bool MatchSrcPort(struct bcm_classifier_rule *pstClassifierRule, USHORT ushSrcPort);
37
38bool MatchDestPort(struct bcm_classifier_rule *pstClassifierRule, USHORT ushSrcPort);
39
40bool MatchProtocol(struct bcm_classifier_rule *pstClassifierRule, UCHAR ucProtocol);
41
42INT SetupNextSend(struct bcm_mini_adapter *Adapter, /**<Logical Adapter*/
43					struct sk_buff *Packet, /**<data buffer*/
44					USHORT Vcid);
45
46VOID LinkMessage(struct bcm_mini_adapter *Adapter);
47
48VOID transmit_packets(struct bcm_mini_adapter *Adapter);
49
50INT SendControlPacket(struct bcm_mini_adapter *Adapter, /**<Logical Adapter*/
51							char *pControlPacket/**<Control Packet*/
52							);
53
54int register_networkdev(struct bcm_mini_adapter *Adapter);
55
56void unregister_networkdev(struct bcm_mini_adapter *Adapter);
57
58INT AllocAdapterDsxBuffer(struct bcm_mini_adapter *Adapter);
59
60VOID AdapterFree(struct bcm_mini_adapter *Adapter);
61
62INT FreeAdapterDsxBuffer(struct bcm_mini_adapter *Adapter);
63
64int tx_pkt_handler(struct bcm_mini_adapter *Adapter);
65
66int reset_card_proc(struct bcm_mini_adapter *Adapter);
67
68int run_card_proc(struct bcm_mini_adapter *Adapter);
69
70int InitCardAndDownloadFirmware(struct bcm_mini_adapter *ps_adapter);
71
72INT ReadMacAddressFromNVM(struct bcm_mini_adapter *Adapter);
73
74int register_control_device_interface(struct bcm_mini_adapter *ps_adapter);
75
76void DumpPackInfo(struct bcm_mini_adapter *Adapter);
77
78int rdm(struct bcm_mini_adapter *Adapter, UINT uiAddress, PCHAR pucBuff, size_t size);
79
80int wrm(struct bcm_mini_adapter *Adapter, UINT uiAddress, PCHAR pucBuff, size_t size);
81
82int wrmalt(struct bcm_mini_adapter *Adapter, UINT uiAddress, unsigned int *pucBuff, size_t sSize);
83
84int rdmalt(struct bcm_mini_adapter *Adapter, UINT uiAddress, unsigned int *pucBuff, size_t sSize);
85
86int get_dsx_sf_data_to_application(struct bcm_mini_adapter *Adapter, UINT uiSFId, void __user *user_buffer);
87
88void SendIdleModeResponse(struct bcm_mini_adapter *Adapter);
89
90int ProcessGetHostMibs(struct bcm_mini_adapter *Adapter, struct bcm_host_stats_mibs *buf);
91
92void GetDroppedAppCntrlPktMibs(struct bcm_host_stats_mibs *ioBuffer, struct bcm_tarang_data *pTarang);
93
94void beceem_parse_target_struct(struct bcm_mini_adapter *Adapter);
95
96int bcm_ioctl_fw_download(struct bcm_mini_adapter *Adapter, struct bcm_firmware_info *psFwInfo);
97
98void CopyMIBSExtendedSFParameters(struct bcm_mini_adapter *Adapter,
99		struct bcm_connect_mgr_params *psfLocalSet, UINT uiSearchRuleIndex);
100
101VOID ResetCounters(struct bcm_mini_adapter *Adapter);
102
103int InitLedSettings(struct bcm_mini_adapter *Adapter);
104
105struct bcm_classifier_rule *GetFragIPClsEntry(struct bcm_mini_adapter *Adapter, USHORT usIpIdentification, ULONG SrcIP);
106
107void AddFragIPClsEntry(struct bcm_mini_adapter *Adapter, struct bcm_fragmented_packet_info *psFragPktInfo);
108
109void DelFragIPClsEntry(struct bcm_mini_adapter *Adapter, USHORT usIpIdentification, ULONG SrcIp);
110
111void update_per_cid_rx(struct bcm_mini_adapter *Adapter);
112
113void update_per_sf_desc_cnts(struct bcm_mini_adapter *Adapter);
114
115void ClearTargetDSXBuffer(struct bcm_mini_adapter *Adapter, B_UINT16 TID, bool bFreeAll);
116
117void flush_queue(struct bcm_mini_adapter *Adapter, UINT iQIndex);
118
119INT flushAllAppQ(VOID);
120
121INT BeceemEEPROMBulkRead(
122	struct bcm_mini_adapter *Adapter,
123	PUINT pBuffer,
124	UINT uiOffset,
125	UINT uiNumBytes);
126
127INT WriteBeceemEEPROM(struct bcm_mini_adapter *Adapter, UINT uiEEPROMOffset, UINT uiData);
128
129INT PropagateCalParamsFromFlashToMemory(struct bcm_mini_adapter *Adapter);
130
131INT BeceemEEPROMBulkWrite(
132	struct bcm_mini_adapter *Adapter,
133	PUCHAR pBuffer,
134	UINT uiOffset,
135	UINT uiNumBytes,
136	bool bVerify);
137
138INT ReadBeceemEEPROM(struct bcm_mini_adapter *Adapter, UINT dwAddress, UINT *pdwData);
139
140INT BeceemNVMRead(
141	struct bcm_mini_adapter *Adapter,
142	PUINT pBuffer,
143	UINT uiOffset,
144	UINT uiNumBytes);
145
146INT BeceemNVMWrite(
147	struct bcm_mini_adapter *Adapter,
148	PUINT pBuffer,
149	UINT uiOffset,
150	UINT uiNumBytes,
151	bool bVerify);
152
153INT BcmInitNVM(struct bcm_mini_adapter *Adapter);
154
155INT BcmUpdateSectorSize(struct bcm_mini_adapter *Adapter, UINT uiSectorSize);
156
157bool IsSectionExistInFlash(struct bcm_mini_adapter *Adapter, enum bcm_flash2x_section_val section);
158
159INT BcmGetFlash2xSectionalBitMap(struct bcm_mini_adapter *Adapter, struct bcm_flash2x_bitmap *psFlash2xBitMap);
160
161INT BcmFlash2xBulkWrite(
162	struct bcm_mini_adapter *Adapter,
163	PUINT pBuffer,
164	enum bcm_flash2x_section_val eFlashSectionVal,
165	UINT uiOffset,
166	UINT uiNumBytes,
167	UINT bVerify);
168
169INT BcmFlash2xBulkRead(
170	struct bcm_mini_adapter *Adapter,
171	PUINT pBuffer,
172	enum bcm_flash2x_section_val eFlashSectionVal,
173	UINT uiOffsetWithinSectionVal,
174	UINT uiNumBytes);
175
176INT BcmGetSectionValStartOffset(struct bcm_mini_adapter *Adapter, enum bcm_flash2x_section_val eFlashSectionVal);
177
178INT BcmSetActiveSection(struct bcm_mini_adapter *Adapter, enum bcm_flash2x_section_val eFlash2xSectVal);
179
180INT BcmAllocFlashCSStructure(struct bcm_mini_adapter *psAdapter);
181
182INT BcmDeAllocFlashCSStructure(struct bcm_mini_adapter *psAdapter);
183
184INT BcmCopyISO(struct bcm_mini_adapter *Adapter, struct bcm_flash2x_copy_section sCopySectStrut);
185
186INT BcmFlash2xCorruptSig(struct bcm_mini_adapter *Adapter, enum bcm_flash2x_section_val eFlash2xSectionVal);
187
188INT BcmFlash2xWriteSig(struct bcm_mini_adapter *Adapter, enum bcm_flash2x_section_val eFlashSectionVal);
189
190INT validateFlash2xReadWrite(struct bcm_mini_adapter *Adapter, struct bcm_flash2x_readwrite *psFlash2xReadWrite);
191
192INT IsFlash2x(struct bcm_mini_adapter *Adapter);
193
194INT BcmCopySection(struct bcm_mini_adapter *Adapter,
195						enum bcm_flash2x_section_val SrcSection,
196						enum bcm_flash2x_section_val DstSection,
197						UINT offset,
198						UINT numOfBytes);
199
200bool IsNonCDLessDevice(struct bcm_mini_adapter *Adapter);
201
202VOID OverrideServiceFlowParams(struct bcm_mini_adapter *Adapter, PUINT puiBuffer);
203
204int wrmaltWithLock(struct bcm_mini_adapter *Adapter, UINT uiAddress, unsigned int *pucBuff, size_t sSize);
205
206int rdmaltWithLock(struct bcm_mini_adapter *Adapter, UINT uiAddress, unsigned int *pucBuff, size_t sSize);
207
208int wrmWithLock(struct bcm_mini_adapter *Adapter, UINT uiAddress, PCHAR pucBuff, size_t size);
209
210INT buffDnldVerify(struct bcm_mini_adapter *Adapter, unsigned char *mappedbuffer, unsigned int u32FirmwareLength,
211		unsigned long u32StartingAddress);
212
213VOID putUsbSuspend(struct work_struct *work);
214
215bool IsReqGpioIsLedInNVM(struct bcm_mini_adapter *Adapter, UINT gpios);
216
217#endif
218