VR-Link API Documentation for HLA 1.3
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Classes | Macros | Typedefs | Functions | Variables

provides basic Operating Independent Methods useful to a federate More...

Go to the source code of this file.

Classes

class  DtSelectParam

Macros

#define DtDELETE(x)
 DT_FD_ZERO_USES_MEMSET.
#define DtDELETE_VOID(x, cast)
#define DtISON(a, x)   (a & x)
#define DtISOFF(a, x)   (!DtISON(a, x))
#define DtTURNON(a, x)   (a |= x)
#define DtTURNOFF(a, x)   (a &= ~x)
#define DtNUMBER(foo)   (sizeof(foo)/sizeof(foo[0]))
#define DtOFFSET(type, field)   ((size_t)&((type *)NULL)->field)
#define DtSIZEOF(type, field)   sizeof(((type *)NULL)->field)
#define DtATOI(s)   (int)strtol(s, 0, 0)
 some versions of strtol returns INT_MAX for input larger than 0x7fffffff.
#define DT_VXWORKS_APP(name)

Typedefs

typedef DtU32 DtIpv4Addr

Functions

void bzero (char *b, int length)
 Need bzero.
int DtROUND_TO_MULT (int num, int mult)
 Rounds num up to a multiple of mult.
template<typename T >
DtMax (T x, T y)
 Returns what ever is greater, x or y of type T.
template<typename T >
DtMin (T x, T y)
 Returns the which ever is lesser, x or y of type T.
char * DtDeg2DmsString (double val, char *buff, int prec)
char * DtDeg2DmsString (double val)
int DtIsInList (const int *lst, int num)
 Returns -1 if num is not in lst.
int DtSelect (int n, fd_set *i, fd_set *o, fd_set *e, DtTime t)
void DtClose (int &fd)
char * DtStrdup (const char *str)
 Strdup wrapper.
char * DtToLower (char *str)
 Convert str to all lowercase.
char * DtToUpper (char *str)
 Convert str to all uppercase.
const char * DtInetAddrString (DtIpv4Addr addr)
 Converts ulong to internet dot notation (returns internal static buffer).
DtIpv4Addr DtStringToInetAddr (const char *str)
 Converts to internet dot notation to ulong in host order.
DtIpv4Addr DtStringToInetAddr (const DtString &str)
DtIpv4Addr DtHexStringToInetAddr (const char *str)
 Converts to internet dot notation to ulong in host order.
DtMachineSize alignValue (DtMachineSize value, DtMachineSize alignment)
 Adjust the given value to the nearest multiple of the given alignment Efficient means to determine byte alignment avoiding costly % modulo operator (division and remainder)
const void * alignPtr (const void *ptr, DtMachineSize alignment)
 Adjust the given pointer to the given byte alignment (in bytes)
void * alignPtr (void *ptr, DtMachineSize alignment)
DtMachineSize alignedPadding (DtMachineSize value, DtMachineSize alignment)
 Return the adjustment necessary to align the given value to the given alignment Efficient means to determine padding for byte alignment avoiding costly % modulo operator (division and remainder)
DtMachineSize alignedPtrPadding (const void *ptr, DtMachineSize alignment)
 Return the # padding bytes necessary to align the given pointer to the given byte alignment (in bytes)
int DtResizeString (char *&buf, int &oldLn, int newLn)
 For VXWORKS.
int DtArgc (char *cmdLine)
 Convert a command line (single string with args separated by spaces) to argv, argc format.
char ** DtArgv (char *cmdLine, int *argc=NULL)
const char * DtOperatingSystem ()
 Returns the platform we're running on.
const char * DtCompiler ()
 Returns the compiler.
int DtGetPid ()
 Returns the process ID for the running process.
int DtGetPPid ()
 Returns the process ID for the parent of the running process.
void printHexToStream (std::ostream &stream, unsigned int numberOfColumns, unsigned char *ptr, unsigned int bytes)
 Prints Hex to a stream based on an address and the bytes.

Variables

const DtIpv4Addr DtInetAddrAny = 0
const DtIpv4Addr loopbackAddr = 0x7f000001

Detailed Description

provides basic Operating Independent Methods useful to a federate

Macro Definition Documentation

#define DT_VXWORKS_APP (   name)
Value:
int main(int argc, char** argv); \
int name(char* cmdLine) \
{ \
return realMain(DtArgc(cmdLine), DtArgv(cmdLine)); \
}
#define DtATOI (   s)    (int)strtol(s, 0, 0)

some versions of strtol returns INT_MAX for input larger than 0x7fffffff.

As long as strtoul accepts and properly processes negative input, this macro will work for both unsigned and signed ints (as other strtol do).

#define DtDELETE_VOID (   x,
  cast 
)
Value:
if (x) \
{ \
cast* toDelete = reinterpret_cast<cast*>(x); \
delete toDelete; \
x = 0; \
}
#define DtISOFF (   a,
 
)    (!DtISON(a, x))
#define DtISON (   a,
 
)    (a & x)
#define DtNUMBER (   foo)    (sizeof(foo)/sizeof(foo[0]))
#define DtOFFSET (   type,
  field 
)    ((size_t)&((type *)NULL)->field)
#define DtSIZEOF (   type,
  field 
)    sizeof(((type *)NULL)->field)
#define DtTURNOFF (   a,
 
)    (a &= ~x)
#define DtTURNON (   a,
 
)    (a |= x)

Function Documentation

DtMachineSize alignedPadding ( DtMachineSize  value,
DtMachineSize  alignment 
)
inline

Return the adjustment necessary to align the given value to the given alignment Efficient means to determine padding for byte alignment avoiding costly % modulo operator (division and remainder)

Referenced by alignedPtrPadding().

DtMachineSize alignedPtrPadding ( const void *  ptr,
DtMachineSize  alignment 
)
inline

Return the # padding bytes necessary to align the given pointer to the given byte alignment (in bytes)

References alignedPadding().

const void* alignPtr ( const void *  ptr,
DtMachineSize  alignment 
)
inline

Adjust the given pointer to the given byte alignment (in bytes)

References alignValue().

void* alignPtr ( void *  ptr,
DtMachineSize  alignment 
)
inline

References alignValue().

DtMachineSize alignValue ( DtMachineSize  value,
DtMachineSize  alignment 
)
inline

Adjust the given value to the nearest multiple of the given alignment Efficient means to determine byte alignment avoiding costly % modulo operator (division and remainder)

Referenced by alignPtr().

void bzero ( char *  b,
int  length 
)

Need bzero.

char** DtArgv ( char *  cmdLine,
int *  argc = NULL 
)
int DtResizeString ( char *&  buf,
int &  oldLn,
int  newLn 
)

For VXWORKS.

void printHexToStream ( std::ostream &  stream,
unsigned int  numberOfColumns,
unsigned char *  ptr,
unsigned int  bytes 
)

Prints Hex to a stream based on an address and the bytes.

This is primarily used for debugging rather than for anything else.


Document ID: Generated on Fri May 15 06:36:13 EDT 2015 from SVN revision 153263
Copyright © 2005-2014 VT MÄK. All Rights Reserved (www.mak.com)