types.h(3head) 맨 페이지 - 윈디하나의 솔라나라

개요

섹션
맨 페이지 이름
검색(S)

types.h(3head)

types.h(3HEAD)                      Headers                     types.h(3HEAD)



NAME
       types.h, types - primitive system data types

SYNOPSIS
       #include <sys/types.h>

DESCRIPTION
       The data types defined in <sys/types.h> are as follows:

   32-bit Solaris
       The  data  types  listed  below are defined in <sys/types.h> for 32-bit
       Solaris.

         typedef    struct    { int r[1]; } *physadr;
         typedef    long              clock_t;
         typedef    long              daddr_t;
         typedef    char *            caddr_t;
         typedef    unsigned char     unchar;
         typedef    unsigned short    ushort;
         typedef    unsigned int      uint;
         typedef    unsigned long     ulong_t;
         typedef    unsigned long     ino_t;
         typedef    long              uid_t;
         typedef    long              gid_t;
         typedef    ulong_t           nlink_t;
         typedef    ulong_t           mode_t;
         typedef    short             cnt_t;
         typedef    long              time_t;
         typedef    int               label_t[10];
         typedef    ulong_t           dev_t;
         typedef    long              off_t;
         typedef    long              pid_t;
         typedef    long              paddr_t;
         typedef    int               key_t;
         typedef    unsigned char     use_t;
         typedef    short             sysid_t;
         typedef    short             index_t;
         typedef    short             lock_t;
         typedef    unsigned int      size_t;
         typedef    long              clock_t;
         typedef    long              pid_t;


   64-bit Solaris
       The data types listed below are defined  in  <sys/types.h>  for  64-bit
       Solaris.

         typedef     long        blkcnt_t
         typedef     long        clock_t
         typedef     long        daddr_t
         typedef     ulong_t     dev_t
         typedef     ulong_t     fsblkcnt_t
         typedef     ulong_t     fsfilcnt_t
         typedef     int         gid_t
         typedef     int         id_t
         typedef     long        ino_t
         typedef     int         key_t
         typedef     uint_t      major_t
         typedef     uint_t      minor_t
         typedef     uint_t      mode_t
         typedef     uint_t      nlink_t
         typedef     int         pid_t
         typedef     ptrdiff_t   intptr_t
         typedef     ulong_t     rlim_t
         typedef     ulong_t     size_t
         typedef     uint_t      speed_t
         typedef     long        ssize_t
         typedef     long        suseconds_t
         typedef     uint_t      tcflag_t
         typedef     long        time_t
         typedef     int         uid_t
         typedef     int         wchar_t


   Preprocessor Symbols
       For 32-bit programs, pointers and the C data types int and long are all
       32-bit quantities. For 64-bit programs, pointers and the  C  data  type
       long are defined as 64-bit quantities.


       The  preprocessor  symbol  _ILP32,  made  visible  by  the inclusion of
       <sys/types.h>, can be used with the preprocessor  #ifdef  construct  to
       define  sections of code that will be compiled only as part of a 32-bit
       version of a given C program.


       The preprocessor symbol _LP64 can be used in the  same  way  to  define
       sections of code that will be compiled only as part of a 64-bit version
       of a given C program. See EXAMPLES.


       This header incorporates definitions of other preprocessor symbols that
       can  be useful when keeping code portable between different instruction
       set architectures.

       _LITTLE_ENDIAN             The natural byte order of the  processor.  A
       _BIG_ENDIAN                pointer  to  an int points to the least/most
                                  significant byte of that int.



       _STACK_GROWS_UPWARD        The processor specific  direction  of  stack
       _STACK_GROWS_DOWNWARD      growth.    A    push    onto    the    stack
                                  increases/decreases the stack pointer, so it
                                  stores  data  at  successively  higher/lower
                                  addresses.



       _CHAR_IS_UNSIGNED          The C Compiler implements  objects  of  type
       _CHAR_IS_SIGNED            char  as  unsigned  or  signed respectively.
                                  This is really an implementation  choice  of
                                  the compiler, but it is specified in the ABI
                                  and tends to be uniform across compilers for
                                  an instruction set architecture.



       _CHAR_ALIGNMENT            The  ABI  defines  alignment requirements of
       _SHORT_ALIGNMENT           each of the primitive object types. Some, if
       _INT_ALIGNMENT             not  all,  might be hardware requirements as
       _LONG_ALIGNMENT            well. The values are expressed in bytes.
       _LONG_LONG_ALIGNMENT
       _DOUBLE_ALIGNMENT
       _LONG_DOUBLE_ALIGNMENT
       _POINTER_ALIGNMENT
       _FLOAT_ALIGNMENT





       _MAX_ALIGNMENT             The most stringent alignment requirement  as
                                  specified  by  the ABI. Equal to the maximum
                                  of all the above _XXX_ALIGNMENT values.


       _LONG_LONG_ALIGNMENT_32    The 32-bit ABI supported by a 64-bit  kernel
                                  may  have  different  alignment requirements
                                  for primitive object  types.  The  value  of
                                  this identifier is expressed in bytes.


USAGE
       The daddr_t type is used for disk addresses except in an inode on disk.
       Times are encoded in seconds since 00:00:00 UTC, January 1,  1970.  The
       major  and minor parts of a device code specify kind and unit number of
       a device and are installation-dependent. Offsets are measured in  bytes
       from the beginning of a file.


       The  label_t[] types are used to save the processor state while another
       process is running.

EXAMPLES
       Example 1 Use of preprocessor symbol _LP64.



       In the following example, the preprocessor symbol  _LP64  defines  sec‐
       tions of code that will be compiled only as part of a 64-bit version of
       the given C program.


         #include <sys/types.h>
         ...

         #ifdef _LP64
                 printf("The data model is LP64 in this environment\n");
         #else
         #ifdef _ILP32
                 printf("The data model is ILP32 in this environment\n");
         #else
         #error "Unknown data model!"
         #endif
         #endif


ATTRIBUTES
       See attributes(7) for descriptions of the following attributes:


       tab() box; cw(2.75i) |cw(2.75i) lw(2.75i) |lw(2.75i) ATTRIBUTE  TYPEAT‐
       TRIBUTE VALUE _ Interface StabilityCommitted


SEE ALSO
       types32.h(3HEAD), attributes(7), standards(7)



Oracle Solaris 11.4               6 Oct 2004                    types.h(3HEAD)
맨 페이지 내용의 저작권은 맨 페이지 작성자에게 있습니다.
RSS ATOM XHTML 5 CSS3