6 #if !defined(__OFC_TYPES_H__)
7 #define __OFC_TYPES_H__
9 #include "ofc/config.h"
127 #if defined(OFC_LONGINT_64)
175 #if defined(OFC_LONGINT_64)
192 #if defined(OFC_64BIT_INTEGER)
210 #if defined(OFC_64BIT_INTEGER)
237 #if defined(OFC_64BIT_INTEGER)
238 #define OFC_LARGE_INTEGER_HIGH(x) ((OFC_UINT32)((x)>>32))
240 #define OFC_LARGE_INTEGER_HIGH(x) ((x).high)
249 #if defined(OFC_64BIT_INTEGER)
250 #define OFC_LARGE_INTEGER_LOW(x) ((OFC_UINT32)((x)&0xFFFFFFFF))
252 #define OFC_LARGE_INTEGER_LOW(x) ((x).low)
264 #if defined(OFC_64BIT_INTEGER)
265 #define OFC_LARGE_INTEGER_ASSIGN(x, y) x=y
267 #define OFC_LARGE_INTEGER_ASSIGN(x,y) ofc_memcpy(&x,&y, sizeof(OFC_LARGE_INTEGER))
282 #if defined(OFC_64BIT_INTEGER)
283 #define OFC_LARGE_INTEGER_SET(x, y, z) (x)=(OFC_LARGE_INTEGER)(z)<<32|(y)
285 #define OFC_LARGE_INTEGER_SET(x, y, z) {(x).low = (y); (x).high=(z);}
300 #if defined(OFC_64BIT_INTEGER)
301 #define OFC_LARGE_INTEGER_EQUAL(x, y) (x==y)
303 #define OFC_LARGE_INTEGER_EQUAL(x,y) ((x).high==(y).high && (x).low==(y).low)
314 #if defined(OFC_64BIT_INTEGER)
315 #define OFC_LARGE_INTEGER_INCR(x) x++
317 #define OFC_LARGE_INTEGER_INCR(x) ((x).low==0xFFFFFFFF?\
318 (x).high++,(x).low=0:(x).low++)
333 #if defined(OFC_64BIT_INTEGER)
334 #define OFC_LARGE_INTEGER_AND(x, y, z) (x)&=((OFC_LARGE_INTEGER)(z)<<32|(y))
336 #define OFC_LARGE_INTEGER_AND(x, y, z) {(x).low &= (y); (x).high&=(z);}
351 #if defined(OFC_64BIT_INTEGER)
352 #define OFC_LARGE_INTEGER_INIT(x, y) (OFC_LARGE_INTEGER)(y)<<32|(x)
354 #define OFC_LARGE_INTEGER_INIT(x,y) {x; y}
368 #define OFC_ULONG_MAX ((OFC_ULONG)(~0L))
372 #define OFC_LONG_MAX ((OFC_LONG)(OFC_ULONG_MAX >> 1))
376 #define OFC_LONG_MIN ((OFC_LONG)(~OFC_LONG_MAX))
385 #if defined(OFC_64BIT_POINTER)
434 #define OFC_DWORD_MASK 0xFFFFFFFF
442 #if defined(OFC_64BIT_POINTER)
472 #if defined(OFC_UNICODE_API)
481 #if defined(OFC_UNICODE_API)
511 #define TCHAR_BACKSLASH L'\\'
515 #define TCHAR_SLASH L'/'
519 #define TCHAR_COLON L':'
523 #define TCHAR_EOS L'\0'
527 #define TCHAR_AMP L'@'
534 #define TSTR(x) (const OFC_TCHAR *) L##x
541 #define TCHAR(x) (const OFC_TCHAR) L##x
546 #if defined(OFC_UNICODE_API)
547 #define TACHAR_BACKSLASH TCHAR('\\')
552 #define TACHAR_BACKSLASH '\\'
558 #if defined(OFC_UNICODE_API)
559 #define TACHAR_SLASH TCHAR('/')
561 #define TACHAR_SLASH '/'
567 #if defined(OFC_UNICODE_API)
568 #define TACHAR_COLON TCHAR(':')
570 #define TACHAR_COLON ':'
576 #if defined(OFC_UNICODE_API)
577 #define TACHAR_EOS TCHAR('\0')
579 #define TACHAR_EOS '\0'
585 #if defined(OFC_UNICODE_API)
586 #define TACHAR_AMP TCHAR('@')
588 #define TACHAR_AMP '@'
594 #if defined(OFC_UNICODE_API)
595 #define TASTR(x) TSTR(x)
603 #if defined(OFC_UNICODE_API)
604 #define TACHAR(x) TCHAR(x)
612 #define OFC_UUID_LEN 16
656 #define OFC_NULL ((OFC_LPVOID) 0)
680 #define container_of(ptr, type, member) \
681 (type *)((OFC_CHAR *)(ptr)-(OFC_CHAR *)&((type *)0)->member)
OFC_CHAR * iov_base
Definition: types.h:662
OFC_LONG iov_len
Definition: types.h:661
@ OFC_FALSE
Definition: types.h:632
@ OFC_TRUE
Definition: types.h:636
unsigned char OFC_UCHAR
Definition: types.h:155
OFC_LONG * OFC_PLONG
Definition: types.h:167
char OFC_INT8
Definition: types.h:139
const OFC_WCHAR OFC_CWCHAR
Definition: types.h:406
OFC_UCHAR OFC_UUID[OFC_UUID_LEN]
Definition: types.h:616
void OFC_VOID
Definition: types.h:159
OFC_CHAR * OFC_LPSTR
Definition: types.h:418
short int OFC_INT16
Definition: types.h:135
const OFC_CHAR OFC_CCHAR
Definition: types.h:414
OFC_UINT64 OFC_DWORD_PTR
Definition: types.h:443
unsigned long long int OFC_UINT64
Definition: types.h:193
unsigned int OFC_UINT32
Definition: types.h:176
const OFC_VOID * OFC_LPCVOID
Definition: types.h:458
OFC_LARGE_INTEGER OFC_OFFT
Definition: types.h:360
OFC_LOG_LEVEL
Definition: types.h:646
@ OFC_LOG_FATAL
Definition: types.h:647
@ OFC_LOG_WARN
Definition: types.h:648
@ OFC_LOG_DEBUG
Definition: types.h:650
@ OFC_LOG_INFO
Definition: types.h:649
const OFC_TCHAR * OFC_LPCTSTR
Definition: types.h:498
const OFC_WCHAR * OFC_LPCWSTR
Definition: types.h:410
OFC_UINT8 OFC_BOOL
Definition: types.h:624
long OFC_LONG
Definition: types.h:163
unsigned int OFC_UINT
Definition: types.h:123
short OFC_SHORT
Definition: types.h:171
OFC_TCHAR * OFC_LPTSTR
Definition: types.h:490
int OFC_INT32
Definition: types.h:128
OFC_BYTE * OFC_LPBYTE
Definition: types.h:151
char OFC_BYTE
Definition: types.h:147
OFC_UINT32 OFC_DWORD
Definition: types.h:430
const OFC_TCHAR OFC_CTACHAR
Definition: types.h:482
unsigned char OFC_UINT8
Definition: types.h:187
OFC_DWORD * OFC_LPDWORD
Definition: types.h:438
OFC_ULONG * OFC_LPULONG
Definition: types.h:380
OFC_WCHAR OFC_TCHAR
Definition: types.h:463
OFC_TCHAR OFC_TACHAR
Definition: types.h:473
OFC_UINT16 OFC_WORD
Definition: types.h:426
OFC_VOID * OFC_PVOID
Definition: types.h:454
OFC_UINT64 OFC_ULONG_PTR
Definition: types.h:386
#define OFC_UUID_LEN
Definition: types.h:612
OFC_WCHAR * OFC_LPWSTR
Definition: types.h:398
unsigned long OFC_ULONG
Definition: types.h:364
char OFC_CHAR
Definition: types.h:143
OFC_INT32 OFC_MSTIME
Definition: types.h:506
OFC_TACHAR * OFC_LPTASTR
Definition: types.h:494
OFC_INT64 OFC_LARGE_INTEGER
Definition: types.h:229
const OFC_CHAR * OFC_LPCSTR
Definition: types.h:422
OFC_WCHAR * OFC_LMSTR
Definition: types.h:402
const OFC_WCHAR OFC_CTCHAR
Definition: types.h:467
const OFC_TACHAR * OFC_LPCTASTR
Definition: types.h:502
int OFC_INT
Definition: types.h:119
long int OFC_SIZET
Definition: types.h:115
unsigned short int OFC_UINT16
Definition: types.h:183
const OFC_VOID OFC_CVOID
Definition: types.h:394
long long int OFC_INT64
Definition: types.h:211
OFC_VOID * OFC_LPVOID
Definition: types.h:450