Sample Code

Windows Driver Samples/ Native Wi-Fi Miniport Sample Driver/ C++/ extsta/ st_aplst.h/

/*++

Copyright (c) Microsoft Corporation. All rights reserved.

Module Name:
    St_aplst.h

Abstract:
    STA layer BSS list functions
    
Revision History:
      When        What
    ----------    ----------------------------------------------
    08-01-2005    Created
    01-15-2006    Rename sta_aplist.h to st_aplst.h

Notes:

--*/
#ifndef _STATION_AP_LIST_H_
#define _STATION_AP_LIST_H_

#define STA_IS_BASIC_RATE(rate)     ((rate) & 0x80)
#define STA_DATA_RATE(rate)         ((rate) & 0x7f)

/**
 * Determines the list of access points that can be used for association.
 * This uses the list of discovered access points along with parameters set
 * be the operating system to determine list of candidate access point. The
 * function populates the station's connection context structure. The
 * access points are sorted by priority with the first access point in 
 * the list as best association candidate
 * 
 * \param pStation  Station structure
 * \param bStrictFiltering     True if we want to be stricter filter in discarding APs. This
 *                  is FALSE when we are not connected and want to connect and is TRUE
 *                  if we are roaming when connected
 * \return NDIS_STATUS depending on whether or not it was able to obtain
 * list of candidate access points
 * \sa StaRankCandidateAPList
 */
NDIS_STATUS
StaGetCandidateAPList(
    _In_  PMP_EXTSTA_PORT                        pStation,
    _In_  BOOLEAN                         bStrictFiltering
    );


/**
 * Ranks the candidate access points list in the connection context.
 * It will rank and order the access points in the list such that the first
 * entry in the list is the most preferred access point for association. 
 *
 * \note APs which are not picked for use must have their refcounts decremented
 * 
 * \param pStation  Station structure contain the connection context
 * \return NDIS_STATUS
 * \sa StaGetCandidateAPLists
 */
NDIS_STATUS
StaRankCandidateAPList(
    _In_  PMP_EXTSTA_PORT                        pStation
    );

/**
 * Determines if the specified AP can be used for association based on
 * the current configuration set by the operating system.
 *
 * \note The BSSEntry must be locked
 * 
 * \param pBSSEntry  BSSEntry to be used for matching
 * \param pStation  Station structure
 * \return TRUE if the AP can be used for association. FALSE otherwise
 */
BOOLEAN
StaMatchBSSEntry(
    _In_  PMP_BSS_ENTRY                  pBSSEntry,
    _In_  PMP_EXTSTA_PORT                        pStation
    );

/**
 * Determines if the specified PhyId is in our desired PHY list.
 * 
 * \param pStation  Station structure
 * \param PhyId     the PhyId to check.
 * \return TRUE if the PhyId is in our desired PHY list. FALSE otherwise
 */
BOOLEAN
StaMatchPhyId(
    _In_  PMP_EXTSTA_PORT    pStation,
    _In_  ULONG       PhyId
    );


NDIS_STATUS
StaEnumerateAssociationInfoInfra(
    _In_  PMP_EXTSTA_PORT        pStation,
    _Out_ PDOT11_ASSOCIATION_INFO_LIST   pAssocInfoList,
    _In_  ULONG           TotalLength
    );

VOID
StaCheckForProtectionInERP(
    _In_  PMP_EXTSTA_PORT                        pStation,
    _In_reads_bytes_(infoBlobLength)  PUCHAR          pInfoBlob,
    _In_  ULONG           infoBlobLength
    );

NDIS_STATUS 
StaProcessBeaconForConfigInfo(
    _In_  PMP_EXTSTA_PORT                        pStation,
    _In_  PMP_RX_MPDU                    pFragment,
    _In_reads_bytes_(TotalLength)  PUCHAR                          pInfoBlob,
    _In_  ULONG                           TotalLength
    );

BOOLEAN
StaHasAPConfigurationChanged(
    _In_  PMP_EXTSTA_PORT                        pStation
    );

#endif

Our Services

  • What our customers say about us?

© 2011-2024 All Rights Reserved. Joya Systems. 4425 South Mopac Building II Suite 101 Austin, TX 78735 Tel: 800-DEV-KERNEL

Privacy Policy. Terms of use. Valid XHTML & CSS