/*******************************************************************************
* Project:      Amped'RF Bluetooth
* File name:    SDK_AmpStruct.h
* Description:  Type definitions of all signals.
*
* Copyright (c) 2016 Amped'RF Inc., AR Technology  All rights reserved.
*******************************************************************************/
#ifndef _SDK_AMP_STRUCT_H_
#define _SDK_AMP_STRUCT_H_

#define OS_BTISignalUnionStructure                                            \
  tSIG_AMPGapDeviceSetup                              BtiGapDeviceSetup;\
  tSIG_AMPGapStartInquiry                             BtiGapStartInquiry;\
  tSIG_AMPGapCancelInquiry                            BtiGapCancelInquiry;\
  tSIG_AMPGapRemoteNameReq                            BtiGapRemoteNameReq;\
  tSIG_AMPGapSecuritySetup                            BtiGapSecuritySetup;\
  tSIG_AMPGapPinCodeReply                             BtiGapPinCodeReply;\
  tSIG_AMPCreateDeviceDatabase                        BtiCreateDeviceDatabase;\
  tSIG_AMPDeleteDeviceDatabase                        BtiDeleteDeviceDatabase;\
  tSIG_AMPGapAuthorizeResponse                        BtiGapAuthorizeResponse;\
  tSIG_AMPGapSetup                                    BtiGapSetup;\
  tSIG_AMPReadBdAddressReq                            BtiReadBdAddressReq;\
  tSIG_AMPGapBond                                     BtiGapBond;\
  tSIG_AMPReadDeviceDatabase                          BtiReadDeviceDatabase;\
  tSIG_AMPHoldMode                                    BtiHoldMode;\
  tSIG_AMPSniffMode                                   BtiSniffMode;\
  tSIG_AMPExitSniffMode                               BtiExitSniffMode;\
  tSIG_AMPParkMode                                    BtiParkMode;\
  tSIG_AMPExitParkMode                                BtiExitParkMode;\
\
  tSIG_AMPGapResult                                   BtiGapResult;\
  tSIG_AMPGapInquiryResult                            BtiGapInquiryResult;\
  tSIG_AMPGapRemoteNameCon                            BtiGapRemoteNameCon;\
  tSIG_AMPGapPinCodeRequest                           BtiGapPinCodeRequest;\
  tSIG_AMPGapAuthorizeRequest                         BtiGapAuthorizeRequest;\
  tSIG_AMPGapAbortSecurity                            BtiGapAbortSecurity;\
  tSIG_AMPGapAuthComplete                             BtiGapAuthComplete;\
  tSIG_AMPReadBdAddressRes                            BtiReadBdAddressRes;\
  tSIG_AMPDeviceDBResult                              BtiDeviceDBResult;\
  tSIG_AMPGapLinkKeyNotify                            BtiGapLinkKeyNotify;\
  tSIG_AMPModeChangeResult                            BtiModeChangeResult;\
  tSIG_AMPSwitchRoleResult                            BtiSwitchRoleResult;\
\
\
  tSIG_AMPSppListenRequest                            BtiSppListenRequest;\
  tSIG_AMPSppConnectRequest                           BtiSppConnectRequest;\
  tSIG_AMPSppDisconnectRequest                        BtiSppDisconnectRequest;\
  tSIG_AMPSppSetup                                    BtiSppSetup;\
  tSIG_AMPSppGenericListenRequest                     BtiSppGenericListenRequest;\
  tSIG_AMPSppGenericConnectRequest                    BtiSppGenericConnectRequest;\
  tSIG_AMPSppServiceRequest                           BtiSppServiceRequest;\
\
\
  tSIG_AMPSdapSetup                                   BtiSdapSetup;\
  tSIG_AMPSdapServiceSearchReq                        BtiSdapServiceSearchReq;\
  tSIG_AMPSdapEnumerateRemDevReq                      BtiSdapEnumerateRemDevReq;\
  tSIG_AMPSdapRemDevListConsumed                      BtiSdapRemDevListConsumed;\
\
  tSIG_AMPSdapResult                                  BtiSdapResult;\
  tSIG_AMPSdapServiceSearchCon                        BtiSdapServiceSearchCon;\
  tSIG_AMPSdapRemDevListCon                           BtiSdapRemDevListCon
//------------------------------------------------------------------------------


//------------------------------------------------------------------------------
//  Signal type definitions
//------------------------------------------------------------------------------
// Example Signals
typedef struct tSIG_MySignal {
  uint8 Data1;
  uint8 Data2;
} tSIG_MySignal;


//------------------------------------------------------------------------------
//  Signal type definitions
//------------------------------------------------------------------------------
typedef union tOS_SignalData
{
  uint8 Byte[OS_LONG_SIGNAL_SIZE];

  uint32 Transac;

  OS_BTISignalUnionStructure;

} tOS_SignalData;



//------------------------------------------------------------------------------
#define OS_BTISignalUnionStructure                                            \
  tSIG_AMPGapDeviceSetup                              BtiGapDeviceSetup;\
  tSIG_AMPGapStartInquiry                             BtiGapStartInquiry;\
  tSIG_AMPGapCancelInquiry                            BtiGapCancelInquiry;\
  tSIG_AMPGapRemoteNameReq                            BtiGapRemoteNameReq;\
  tSIG_AMPGapSecuritySetup                            BtiGapSecuritySetup;\
  tSIG_AMPGapPinCodeReply                             BtiGapPinCodeReply;\
  tSIG_AMPCreateDeviceDatabase                        BtiCreateDeviceDatabase;\
  tSIG_AMPDeleteDeviceDatabase                        BtiDeleteDeviceDatabase;\
  tSIG_AMPGapAuthorizeResponse                        BtiGapAuthorizeResponse;\
  tSIG_AMPGapSetup                                    BtiGapSetup;\
  tSIG_AMPReadBdAddressReq                            BtiReadBdAddressReq;\
  tSIG_AMPGapBond                                     BtiGapBond;\
  tSIG_AMPReadDeviceDatabase                          BtiReadDeviceDatabase;\
  tSIG_AMPHoldMode                                    BtiHoldMode;\
  tSIG_AMPSniffMode                                   BtiSniffMode;\
  tSIG_AMPExitSniffMode                               BtiExitSniffMode;\
  tSIG_AMPParkMode                                    BtiParkMode;\
  tSIG_AMPExitParkMode                                BtiExitParkMode;\
\
  tSIG_AMPGapResult                                   BtiGapResult;\
  tSIG_AMPGapInquiryResult                            BtiGapInquiryResult;\
  tSIG_AMPGapRemoteNameCon                            BtiGapRemoteNameCon;\
  tSIG_AMPGapPinCodeRequest                           BtiGapPinCodeRequest;\
  tSIG_AMPGapAuthorizeRequest                         BtiGapAuthorizeRequest;\
  tSIG_AMPGapAbortSecurity                            BtiGapAbortSecurity;\
  tSIG_AMPGapAuthComplete                             BtiGapAuthComplete;\
  tSIG_AMPReadBdAddressRes                            BtiReadBdAddressRes;\
  tSIG_AMPDeviceDBResult                              BtiDeviceDBResult;\
  tSIG_AMPGapLinkKeyNotify                            BtiGapLinkKeyNotify;\
  tSIG_AMPModeChangeResult                            BtiModeChangeResult;\
  tSIG_AMPSwitchRoleResult                            BtiSwitchRoleResult;\
\
\
  tSIG_AMPSppListenRequest                            BtiSppListenRequest;\
  tSIG_AMPSppConnectRequest                           BtiSppConnectRequest;\
  tSIG_AMPSppDisconnectRequest                        BtiSppDisconnectRequest;\
  tSIG_AMPSppSetup                                    BtiSppSetup;\
  tSIG_AMPSppGenericListenRequest                     BtiSppGenericListenRequest;\
  tSIG_AMPSppGenericConnectRequest                    BtiSppGenericConnectRequest;\
  tSIG_AMPSppServiceRequest                           BtiSppServiceRequest;\
\
\
  tSIG_AMPSdapSetup                                   BtiSdapSetup;\
  tSIG_AMPSdapServiceSearchReq                        BtiSdapServiceSearchReq;\
  tSIG_AMPSdapEnumerateRemDevReq                      BtiSdapEnumerateRemDevReq;\
  tSIG_AMPSdapRemDevListConsumed                      BtiSdapRemDevListConsumed;\
\
  tSIG_AMPSdapResult                                  BtiSdapResult;\
  tSIG_AMPSdapServiceSearchCon                        BtiSdapServiceSearchCon;\
  tSIG_AMPSdapRemDevListCon                           BtiSdapRemDevListCon


#endif // _SDK_AMP_STRUCT_H_
