/*
 * File: DxbMgt.h
 */

#ifndef DxbMgt_h
#define DxbMgt_h

#ifndef API_DECL
#define API_DECL __declspec( dllimport ) WINAPI
#endif /* #ifndef API_DECL */

#if defined(__cplusplus)
extern "C" {
#endif /* #if defined(__cplusplus) */

/* NT Specific APIs */
HANDLE	API_DECL
cfgGetBoardHandle(DWORD const nBoard);

DWORD API_DECL
cfgGetBoardNoFromName(TCHAR const * const szName);

BOOL API_DECL
cfgGetNameFromBoardNo(DWORD const nBoard, TCHAR * const szName, size_t const cbName);

BOOL API_DECL
cfgGetCommName(DWORD const nBoard, DWORD const nPort, DWORD const nChannel, TCHAR * const szName, size_t const cbName);

void API_DECL
ShimShutdown(void);

#if defined(__cplusplus)
}
#endif /* #if defined(__cplusplus) */


/* All systems must adhere to structure packing alignment of 4 */
#pragma pack(push,4)

#define MGMT_DECL API_DECL

#include "dxbtypes.h"
#include "mgmtdflt.h"
#include "mgmthlc.h"

#if defined(__cplusplus)
extern "C" {
#endif /* #if defined(__cplusplus) */

#include "MgmtShim.h"

#if defined(__cplusplus)
}
#endif /* #if defined(__cplusplus) */

#pragma pack(pop)

#endif /* #ifndef DxbMgt_h */
