/*
 * Copyright (c) 2012-2013 Qualcomm Atheros, Inc.
 * All Rights Reserved.
 * Qualcomm Atheros Confidential and Proprietary.
 */
#if !defined( __WLAN_QCT_PAL_LIST_H )
#define __WLAN_QCT_PAL_LIST_H

/**=========================================================================
  
  \file  wlan_qct_pal_list.h
  
  \brief define linked list PAL exports. wpt = (Wlan Pal Type) wpal = (Wlan PAL)
               
   Definitions for platform independent. 
  
   Copyright 2010 (c) Qualcomm, Incorporated.  All Rights Reserved.
   
   Qualcomm Confidential and Proprietary.
  
  ========================================================================*/

#include "wlan_qct_os_list.h"


#endif // __WLAN_QCT_PAL_LIST_H
