Documentation Project 1
ContentsIndexHome
PreviousUpNext
Macros

The following table lists macros in this documentation.

Name 
Description 
_32f 
32 bit unsigned decimal output printf format specifier. This would otherwise be defined in <inttypes.h> 
64 bit signed decimal output printf format specifier. This would otherwise be defined in <inttypes.h> 
32 bit hex output printf format specifier. This would otherwise be defined in <inttypes.h> 
32 bit HEX output printf format specifier. This would otherwise be defined in <inttypes.h> 
_64f 
defined( _MSC_VER ) 64 bit unsigned decimal output printf format specifier. This would otherwise be defined in <inttypes.h> as PRIu64 
64 bit signed decimal output printf format specifier. This would otherwise be defined in <inttypes.h> as PRIdFAST64 
64 bit hex output printf format specifier. This would otherwise be defined in <inttypes.h> as PRIxFAST64 
64 bit HEX output printf format specifier. This would otherwise be defined in <inttypes.h> as PRIxFAST64 
Modified WIDE wrapper that actually forces non-unicode string. 
This is macro sack::_WIDE. 
This is macro sack::_WIDE__FILE__. 
format string for output _32 as unsigned decimal. Size changes by platform. Non unicode. 
format string for output _32 as unsigned decimal. Size changes by platform. Non unicode. 
format string for output _32 as unsigned hex. Size changes by platform. Non unicode. 
format string for output _32 as unsigned HEX. Size changes by platform. Non unicode. 
format string for output PTRSZVAL as unsigned hex. Size changes by platform. Non unicode. 
format string for output PTRSZVAL as unsigned hex. Size changes by platform. Non unicode. 
This is macro sack::cWIDE. 
in NDEBUG mode, pass nothing 
in NDEBUG mode, pass nothing 
in NDEBUG mode, pass nothing.

This function allows specification of DBG_RELAY or DBG_SRC under debug compilation. Otherwise, the simple AddLink macro should be used. DBG_RELAY can be used to forward file and line information which has been passed via DBG_PASS declaration in the function parameters.

This is a part of a set of macros which allow additional logging information to be passed.

These 3 are the most commonly used.

DBG_SRC - this passes the current __FILE__, __LINE__ parameters.
DBG_PASS - this is used on a function declaration, is a filename and line number from DBG_SRC or DBG_RELAY.
DBG_RELAY -... more 
in NDEBUG mode, pass nothing 
in NDEBUG mode, pass nothing 
This is macro sack::DBG_VARSRC. 
This is macro sack::DBG_VOIDPASS. 
in NDEBUG mode, pass nothing 
#define DBG_LEADSRC in NDEBUG mode, declare (void) 
#error blah general macros for linking lists using 
exit 
This is macro sack::exit. 
typedef enum { FALSE, TRUE } LOGICAL; // smallest information 
a constant text string that represents the current source filename and line... fourmated as "source.c(11) :" 
specify a consistant macro to format file and line information for printf formated strings. 
#define FILELINE_LEADPASS CTEXTSTR pFile, _32 nLine, specify a consistant macro to define file and line parameters. This are appended parameters, and common usage is to only use these with _DEBUG set. 
specify a consistant macro to forward file and line parameters. This are appended parameters, and common usage is to only use these with _DEBUG set. 
specify a consistant macro to pass current file and line information. This are appended parameters, and common usage is to only use these with _DEBUG set. 
#define FILELINE_NULL , NULL, 0 #define FILELINE_VOIDNULL NULL, 0 define static parameters which are the declaration's current file and line, for stubbing in where debugging is being stripped. usage FILELINE_VARSRC: // declare pFile and nLine variables. 
#define FILELINE_LEADSRC (CTEXTSTR)_WIDE(__FILE__), __LINE__, specify a consistant macro to define file and line parameters, to functions with otherwise void param lists. This are appended parameters, and common usage is to only use these with _DEBUG set. 
specify a consistant macro to forward file and line parameters, to functions which have void parameter lists without this information. This are appended parameters, and common usage is to only use these with _DEBUG set. 
specify a consistant macro to pass current file and line information, to functions which void param lists. This are appended parameters, and common usage is to only use these with _DEBUG set. 
how many bits to add to make sure we round to the next greater index if even 1 bit overflows 
declare a set of flags... 
how big the flag set is in count of FLAGSETTYPEs required in a row ( size of the array of FLAGSETTYPE that contains n bits) 
the default type to use for flag sets - flag sets are arrays of bits which can be toggled on and off by an index. 
the index of the FLAGSETTYPE which contains the bit in question 
the number of bits a specific type is. 
get the value of a field 
This is macro sack::GetMyThreadID. 
This is macro sack::GetMyThreadIDNL. 
this is now always the case it's a safer solution anyhow... 
this has two expressions duplicated... but in being so safe in this expression, the self-circular link needs to be duplicated. GrabThing is used for nodes which are circularly bound 
An index which is not valid; equates to 0xFFFFFFFFUL or negative one cast as an INDEX... ((INDEX)-1). 
Link a node to the end of a list. Link thing inserts the new node as the new head of the list. 
Link a new node into the list. 
put 'Thing' after 'node 
put 'Thing' before 'node'... so (*node->me) = thing 
the mast in the dword shifted to the left to overlap the field in the word 
masks value with the mask size, then applies that mask back to the correct word indexing 
32 bits max for range on mask 
define MAX_MAX_ROUND factor based on MASKSET_READTYPE - how to read it... 
the maximum number of bits storable in a type 
the mask in the dword resulting from shift-right. (gets a mask of X bits in length) 
declare a set of flags... 
round up to the next count of types that fits 1 bit - used as a cieling round factor 
declare a mask set. 
gives a 32 bit mask possible from flagset.. 
The number of bytes the set would be. 
gives byte index... 
byte index of the start of the mask 
how many bits the type specified can hold 
Go to the next node with links declared by DeclareLink 
everything else is called a thing... should probably migrate to using this... 
try and define a way to emit comipler messages... but like no compilers support standard ways to do this accross the board. 
try and define a way to emit comipler messages... but like no compilers support standard ways to do this accross the board. 
This is macro sack::PTRSZVALf. 
format string for output PTRSZVAL as unsigned decimal. Size changes by platform. 
format string for output PTRSZVAL as unsigned hex. Size changes by platform. 
This is macro sack::RelinkThing. 
clear a single flag index 
set a single flag index 
set a field index to a value 
This is macro sack::STRSYM. 
test if a flags is set 
This is macro sack::TOCHR. 
reverse a flag from 1 to 0 and vice versa 
This is macro sack::TOSTR. 
TRUE 
Define TRUE when not previously defined in the platform. TRUE is (!FALSE) so anything not 0 is true. 
Remove a node from a list. Requires only the node. 
WIDE 
This is macro sack::WIDE. 
This is macro sack::WIDE__FILE__. 
Copyright (c) 2010. All rights reserved.
What do you think about this topic? Send feedback!