home *** CD-ROM | disk | FTP | other *** search
/ PC World 2005 June / PCWorld_2005-06_cd.bin / software / vyzkuste / firewally / firewally.exe / framework-2.3.exe / param.h < prev    next >
C/C++ Source or Header  |  2004-01-30  |  3KB  |  80 lines

  1. /* sys/param.h
  2.  
  3.    Copyright 2001, 2003 Red Hat, Inc.
  4.  
  5.    This software is a copyrighted work licensed under the terms of the
  6.    Cygwin license.  Please consult the file "CYGWIN_LICENSE" for
  7.    details. */
  8.  
  9. #ifndef _SYS_PARAM_H
  10. #define _SYS_PARAM_H
  11.  
  12. #include <sys/types.h>
  13. /* Linux includes limits.h, but this is not universally done. */
  14. #include <limits.h>
  15.  
  16. /* Max number of open files.  The Posix version is OPEN_MAX.  */
  17. /* Number of fds is virtually unlimited in cygwin, but we must provide
  18.    some reasonable value for Posix conformance */
  19. #define NOFILE        8192
  20.  
  21. /* Max number of groups; must keep in sync with NGROUPS_MAX in limits.h */
  22. #define NGROUPS        16
  23.  
  24. /* Ticks/second for system calls such as times() */
  25. /* FIXME: is this the appropriate value? */
  26. #define HZ        1000
  27.  
  28. /* Max hostname size that can be dealt with */
  29. /* FIXME: is this the appropriate value? */
  30. #define MAXHOSTNAMELEN    64
  31.  
  32. /* This is defined to be the same as MAX_PATH which is used internally.
  33.    The Posix version is PATH_MAX.  */
  34. #define MAXPATHLEN      (260 - 1 /*NUL*/)
  35.  
  36. /* This is the number of bytes per block given in the st_blocks stat member.
  37.    It should be in sync with S_BLKSIZE in sys/stat.h.  S_BLKSIZE is the
  38.    BSD variant of this constant. */
  39. #define DEV_BSIZE    1024
  40.  
  41. /* Some autoconf'd packages check for endianness.  When cross-building we
  42.    can't run programs on the target.  Fortunately, autoconf supports the
  43.    definition of byte order in sys/param.h (that's us!).
  44.    The values here are the same as used in gdb/defs.h (are the more
  45.    appropriate values?).  */
  46. #define BIG_ENDIAN    4321
  47. #define LITTLE_ENDIAN    1234
  48.  
  49. /* All known win32 systems are little endian.  */
  50. #define BYTE_ORDER    LITTLE_ENDIAN
  51.  
  52. #ifndef NULL
  53. #define NULL            0L
  54. #endif
  55.  
  56. #ifndef NBBY
  57. #define    NBBY 8
  58. #endif
  59.  
  60. /* Bit map related macros. */
  61. #define    setbit(a,i) ((a)[(i)/NBBY] |= 1<<((i)%NBBY))
  62. #define    clrbit(a,i) ((a)[(i)/NBBY] &= ~(1<<((i)%NBBY)))
  63. #define    isset(a,i)  ((a)[(i)/NBBY] & (1<<((i)%NBBY)))
  64. #define    isclr(a,i)  (((a)[(i)/NBBY] & (1<<((i)%NBBY))) == 0)
  65.  
  66. /* Macros for counting and rounding. */
  67. #ifndef howmany
  68. #define    howmany(x, y)   (((x)+((y)-1))/(y))
  69. #endif
  70. #define    rounddown(x, y) (((x)/(y))*(y))
  71. #define    roundup(x, y)   ((((x)+((y)-1))/(y))*(y))  /* to any y */
  72. #define    roundup2(x, y)  (((x)+((y)-1))&(~((y)-1))) /* if y is powers of two */
  73. #define powerof2(x)    ((((x)-1)&(x))==0)
  74.  
  75. /* Macros for min/max. */
  76. #define    MIN(a,b)    (((a)<(b))?(a):(b))
  77. #define    MAX(a,b)    (((a)>(b))?(a):(b))
  78.  
  79. #endif
  80.