/////////////////////////////////////////////////////////////////////////////
//
// PBUtils.h : Prototypes for all exported API function wrappers
//
/////////////////////////////////////////////////////////////////////////////

#if !defined( PBUTILS_H)
#define PBUTILS_H
#pragma once

#ifdef PBUTILS_EXPORTS
#define PBUTILS_API __declspec(dllexport)
#else
#define PBUTILS_API __declspec(dllimport)
#endif

// network functions
// ------------------
PBUTILS_API bool __stdcall GetMacAddress( LPSTR szAddress );

// bitwise operations
// ------------------
PBUTILS_API DWORD __stdcall BitwiseOR( DWORD numA, DWORD numB );
PBUTILS_API DWORD __stdcall BitwiseXOR( DWORD numA, DWORD numB );
PBUTILS_API DWORD __stdcall BitwiseAND( DWORD numA, DWORD numB );
PBUTILS_API DWORD __stdcall BitwiseNOT( DWORD num );
PBUTILS_API DWORD __stdcall BitwiseLeftShift( DWORD num, USHORT nPositions );
PBUTILS_API DWORD __stdcall BitwiseRightShift( DWORD num, USHORT nPositions );

// trigonometry functions
// ----------------------
PBUTILS_API double __stdcall Asin( double x );
PBUTILS_API double __stdcall Acos( double x );
PBUTILS_API double __stdcall Atan( double x );
PBUTILS_API double __stdcall Atan2( double x, double y );

// numerical conversions
// ---------------------
PBUTILS_API VOID __stdcall Hex( LPSTR szHex, DWORD num );
PBUTILS_API VOID __stdcall Hex( LPSTR szOctal, DWORD num );

#endif	// !defined (PBUTILS_H)
