The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Интерактивная система просмотра системных руководств (man-ов)

 ТемаНаборКатегория 
 
 [Cписок руководств | Печать]

types.h (3)
  • >> types.h (3) ( Solaris man: Библиотечные вызовы )
  • types.h (3) ( POSIX man: Библиотечные вызовы )
  •  

    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
    _BIG_ENDIAN

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

    _STACK_GROWS_UPWARD
    _STACK_GROWS_DOWNWARD

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

    _CHAR_IS_UNSIGNED
    _CHAR_IS_SIGNED

    The C Compiler implements objects of type 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
    _SHORT_ALIGNMENT
    _INT_ALIGNMENT
    _LONG_ALIGNMENT
    _LONG_LONG_ALIGNMENT
    _DOUBLE_ALIGNMENT
    _LONG_DOUBLE_ALIGNMENT
    _POINTER_ALIGNMENT
    _FLOAT_ALIGNMENT

    The ABI defines alignment requirements of each of the primitive object types. Some, if not all, might be hardware requirements as well. The values are expressed in bytes.

    _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 sections 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(5) for descriptions of the following attributes:

    ATTRIBUTE TYPEATTRIBUTE VALUE

    Interface StabilityStable

     

    SEE ALSO

    types32.h(3HEAD), attributes(5), standards(5)


     

    Index

    NAME
    SYNOPSIS
    DESCRIPTION
    32-bit Solaris
    64-bit Solaris
    Preprocessor Symbols
    USAGE
    EXAMPLES
    ATTRIBUTES
    SEE ALSO


    Поиск по тексту MAN-ов: 




    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру