linux-wlan-ng/doc/codingstd/format.hfile

143 lines
4.3 KiB
Plaintext

/* aheader.h: [one line description of the file]
* --------------------------------------------------------------------
*
* [Project Name]
*
* [License Statement, eg.
* The contents of this file are subject to the Mozilla Public
* License Version 1.0 (the "License"); you may not use this file
* except in compliance with the License. You may obtain a copy of
* the License at http://www.mozilla.org/MPL/ ]
*
* [Warranty Statement, eg.
* Software distributed under the License is distributed on an "AS
* IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
* implied. See the License for the specific language governing
* rights and limitations under the License. ]
*
* [Author contact, eg.
* Copyright (C) 1998 AbsoluteValue Software, Inc. All Rights Reserved.
*
* Inquiries regarding the linux-wlan Open Source project can be
* made directly to:
*
* AbsoluteValue Systems Inc.
* info@linux-wlan.com
* http://www.linux-wlan.com ]
*
* [Change History]
*
* [Verbose Description]
*
* [Implementation and usage notes]
*
* [References]
*
* --------------------------------------------------------------------
*/
#ifndef _AHEADER_H
#define _AHEADER_H
/*=============================================================*/
/*------ Constants --------------------------------------------*/
/*--- Fixed memory offsets --------------------------*/
#define SU_OFF_LAST_TXDESC 0x3ec
#define SU_OFF_RSVD1 0x400
#define SU_OFF_BANNER 0x480
#define SU_OFF_CMD_BLK 0x4a0
#define SU_OFF_CNTL_STATUS_BLK 0x4f0
#define SU_OFF_VBM 0x500
#define SU_OFF_BUFFER 0x600
/*--- Global Sizes ----------------------------------*/
#define SU_LEN_BANNER 32
/*=============================================================*/
/*------ Macros -----------------------------------------------*/
/*--- next testing macro (applies to Rx and Tx) -------*/
#define SUTXD_ISLAST(x) ((x) & BIT31)
#define SURXD_ISLAST(x) ((x) & BIT31)
/*=============================================================*/
/*------ Types and their related constants --------------------*/
/*--- Last Completed Tx Descriptor Block ---------------*/
__WLAN_PRAGMA_PACK1__
typedef struct am930txcmplt_blk
{
volatile UINT32 last_bcast __WLAN_ATTRIB_PACK__;
volatile UINT32 last_mgmt __WLAN_ATTRIB_PACK__;
volatile UINT32 last_data __WLAN_ATTRIB_PACK__;
volatile UINT32 last_pspoll __WLAN_ATTRIB_PACK__;
volatile UINT32 last_cfpoll __WLAN_ATTRIB_PACK__;
} am930txcmplt_blk_t;
__WLAN_PRAGMA_PACKDFLT__
#define TXCMPLT_OFF_BCAST 0
#define TXCMPLT_OFF_MGMT 4
#define TXCMPLT_OFF_DATA 8
#define TXCMPLT_OFF_PSPOLL 12
#define TXCMPLT_OFF_CFPOLL 16
typedef void (*am930hw_scan_callback_t)(void *);
/*=============================================================*/
/*--- Function Declarations -----------------------------------*/
/*=============================================================*/
/* public: */
am930hw_t*
am930hw_construct(UINT32 irq, UINT32 iobase,
UINT32 membase, am930mac_t *mac);
void
am930hw_destruct(am930hw_t *hw);
int
am930hw_init_rx_tx( am930hw_t *hw );
void
am930hw_ISR( am930hw_t *hw );
UINT32
am930hw_joinbss( am930hw_t *hw, UINT32 ch, UINT32 newBSS,
UINT8 *bssid, wlan_ie_ssid_t *ssid, UINT32 bcn_int,
wlan_bss_ts_t ts, UINT32 sutro_ref_time );
UINT32
am930hw_scan( am930hw_t *hw, UINT32 cntl, UINT8 *bssid,
UINT32 ch, UINT32 duration,
am930hw_scan_callback_t cb, void *callback_arg );
UINT32
am930hw_reset( am930hw_t *hw );
/*=============================================================*/
/*--- Inline Function Definitions (if supported) --------------*/
/*=============================================================*/
/*----------------------------------------------------------------
* am930hw_reset
*
* Perform reset of am930 part and test for valid operation
* operation following reset.
*
* returns: zero on success, non-zero if part fails to come up
* after reset.
----------------------------------------------------------------*/
__INLINE__ UINT32 am930hw_reset( am930hw_t* hw)
{
UINT32 result = 0;
/* perform reset */
/* test part */
return result;
}
#endif /* _AHEADER_H */