/*
 * Copyright (c) 2012-2013 Qualcomm Atheros, Inc.
 * All Rights Reserved.
 * Qualcomm Atheros Confidential and Proprietary.
 */
// Project/System dependant defines and typedefs

#ifndef __FSMDEFS_H__
#define __FSMDEFS_H__

/* Temporary fix until I clean up all the type names */
#define BTAMPFSM_INSTANCEDATA_T tWLAN_BAPbapPhysLinkMachine 

typedef unsigned char BTAMPFSM_ENTRY_FLAG_T;
typedef unsigned char BTAMPFSM_STATEVAR_T;
typedef unsigned char BTAMPFSM_INST_ID_T;
typedef unsigned char BTAMPFSM_EVENT_T;
#endif
