Mercurial > libpst
view src/common.h @ 129:fc11b1d1ad34
fix initial from header in mbox format.
start moving to PST_LE_GET* rather than LE*_CPU macros so we can eventually remove the pragma packing.
author | Carl Byington <carl@five-ten-sg.com> |
---|---|
date | Thu, 05 Feb 2009 12:09:04 -0800 |
parents | c2482d0cd84e |
children | e35fd42bac05 |
line wrap: on
line source
#ifndef __COMMON_H #define __COMMON_H #include <stdlib.h> #include <stdio.h> #include <stdarg.h> // switch to maximal packing for all structures in the libpst interface // this is reverted in the vbuf.h include #ifdef _MSC_VER #pragma pack(push, 1) #endif #if defined(__GNUC__) || defined (__SUNPRO_C) || defined(__SUNPRO_CC) #pragma pack(1) #endif #ifndef _MSC_VER #include <stdint.h> #include <inttypes.h> #else typedef signed char int8_t; typedef unsigned char uint8_t; typedef unsigned short uint16_t; typedef short int16_t; typedef unsigned int uint32_t; typedef int int32_t; typedef unsigned long long uint64_t; typedef long long int64_t; #endif #ifndef _WIN32 typedef uint32_t DWORD; typedef uint16_t WORD; typedef uint8_t BYTE; typedef uint32_t UINT32; typedef struct { // copied from wine DWORD dwLowDateTime; DWORD dwHighDateTime; } FILETIME; // According to Jan Wolter, sys/param.h is the most portable source of endian // information on UNIX systems. see http://www.unixpapa.com/incnote/byteorder.html #include <sys/param.h> #else #define BYTE_ORDER LITTLE_ENDIAN #endif #endif