Documentation Project 1
ContentsIndexHome
PreviousUpNext
Types

The following table lists types in this documentation.

Name 
Description 
_16 
Would be otherwise defined in stdint.h as uint16_t 
_64 
have to do this on a per structure basis - otherwise any included headers with structures to use will get FUCKED 
_8 
portability type for porting legacy 16 bit applications. Would be otherwise defined in stdint.h as uint16_t 
#endif
 

  • several compilers are rather picky about the types of data
  • used for bit field declaration, therefore this type
  • should be used instead of _32

 

This is a pointer to constant data. void const *. Compatible with things like char const *. 
constant text string content 
an unsigned type meant to index arrays. (By convention, arrays are not indexed negatively.) An index which is not valid is INVALID_INDEX, which equates to 0xFFFFFFFFUL or negative one cast as an INDEX... ((INDEX)-1). 
Meant to hold boolean and only boolean values. Should be implemented per-platform as appropriate for the bool type the compiler provides. 
P_0 
cannot declare _0 since that overloads the vector library definition for origin (0,0,0,0,...) typedef void _0; // totally unusable to declare 0 size things.
#ifdef __NO_WIN32API__ #define P_0 void* #ifdef __cplusplus_cli // long is 32, int is 64 #define _32 unsigned long #else #define _32 unsigned int #endif #define _8 unsigned char #define P_8 _8 * #define _16 unsigned short #define P_16 _16 * #define P_32 _32 * #define PC_32 const _32 * #define S_8 signed char #define PS_8 S_8 * #define S_16 signed short #define PS_16 S_16 * #define S_32 signed long #define PS_32 S_32 * #define X_8 char... more 
P_16 
Would be otherwise defined in stdint.h as uint16_t 
P_32 
An pointer to an unsigned integer type that is 32 bits long. 
P_64 
A pointer to an unsigned integer type that is 64 bits long. 
P_8 
Would be otherwise defined in stdint.h as uint8_t 
An pointer to a constant unsigned integer type that is 32 bits long. 
char const *const 
This is type sack::pid_t. 
This is a pointer. It is a void*. It is meant to point to a single thing, and cannot be used to reference arrays of bytes without recasting. 
An pointer to a signed integer type that is 16 bits long. 
A pointer to a signed integer type that is 32 bits long. 
A pointer to a signed integer type that is 64 bits long. 
PS_8 
An pointer to a signed integer type that is 8 bits long. 
see PTRSZVAL this just has more letters. 
This is an unsigned integer type that has the same length as a pointer, so that simple byte offset calculations can be performed against an integer. non-standard compiler extensions allow void* to be added with an index and increase in bytes, but void itself is of 0 size, so anything times 0 should be 0, and no offset should apply. So translation of pointers to integer types allows greater flexibility without relying on compiler features which may not exist. 
An pointer to a volatile unsigned integer type that is 32 bits long. 
An pointer to a volatile unsigned integer type that is 64 bits long. 
An pointer to a volatile pointer size type that is as long as a pointer. 
This is a pointer to wchar_t. A 16 bit value that is character data, and is not signed or unsigned. 
PX_8 
A pointer to character type, it is not signed or unsigned. 
S_16 
A signed integer type that is 16 bits long. 
S_32 
A signed integer type that is 32 bits long. 
S_64 
A signed integer type that is 64 bits long. 
S_8 
A signed integer type that is 8 bits long. 
a text 8 bit character 
A non constant array of TEXTCHAR. A pointer to TEXTCHAR. A pointer to non-constant characters. (A non-static string probably) 
This should be for several years a sufficiently large type to represent threads and processes. 
X_16 
may consider changing this to P_16 for unicode... 
X_8 
A character type, it is not signed or unsigned. 
Copyright (c) 2010. All rights reserved.
What do you think about this topic? Send feedback!