standard.h

00001 /*
00002 ------------------------------------------------------------------------------
00003 Standard definitions and types, Bob Jenkins
00004 ------------------------------------------------------------------------------
00005 */
00006 /*
00007  * ser changes:
00008  * --------
00009  *  2007-06-15  changed ub4 & sb4 defs to int (from long) (andrei)
00010  */
00011 
00012 #ifndef STANDARD
00013 # define STANDARD
00014 # ifndef STDIO
00015 #  include <stdio.h>
00016 #  define STDIO
00017 # endif
00018 # ifndef STDDEF
00019 #  include <stddef.h>
00020 #  define STDDEF
00021 # endif
00022 typedef  unsigned long long  ub8;
00023 #define UB8MAXVAL 0xffffffffffffffffLL
00024 #define UB8BITS 64
00025 typedef    signed long long  sb8;
00026 #define SB8MAXVAL 0x7fffffffffffffffLL
00027 typedef  unsigned int  ub4;   /* unsigned 4-byte quantities */
00028 #define UB4MAXVAL 0xffffffff
00029 typedef    signed int  sb4;
00030 #define UB4BITS 32
00031 #define SB4MAXVAL 0x7fffffff
00032 typedef  unsigned short int  ub2;
00033 #define UB2MAXVAL 0xffff
00034 #define UB2BITS 16
00035 typedef    signed short int  sb2;
00036 #define SB2MAXVAL 0x7fff
00037 typedef  unsigned       char ub1;
00038 #define UB1MAXVAL 0xff
00039 #define UB1BITS 8
00040 typedef    signed       char sb1;   /* signed 1-byte quantities */
00041 #define SB1MAXVAL 0x7f
00042 typedef                 int  word;  /* fastest type available */
00043 
00044 #define bis(target,mask)  ((target) |=  (mask))
00045 #define bic(target,mask)  ((target) &= ~(mask))
00046 #define bit(target,mask)  ((target) &   (mask))
00047 #ifndef min
00048 # define min(a,b) (((a)<(b)) ? (a) : (b))
00049 #endif /* min */
00050 #ifndef max
00051 # define max(a,b) (((a)<(b)) ? (b) : (a))
00052 #endif /* max */
00053 #ifndef align
00054 # define align(a) (((ub4)a+(sizeof(void *)-1))&(~(sizeof(void *)-1)))
00055 #endif /* align */
00056 #ifndef abs
00057 # define abs(a)   (((a)>0) ? (a) : -(a))
00058 #endif
00059 #define TRUE  1
00060 #define FALSE 0
00061 #define SUCCESS 0  /* 1 on VAX */
00062 
00063 #endif /* STANDARD */