types.h man page on SunOS

Man page or keyword search:  
man Server   20652 pages
apropos Keyword Search (all sections)
Output format
SunOS logo
[printable version]

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

       ┌─────────────────────────────┬─────────────────────────────┐
       │      ATTRIBUTE TYPE	     │	    ATTRIBUTE VALUE	   │
       ├─────────────────────────────┼─────────────────────────────┤
       │Interface Stability	     │Stable			   │
       └─────────────────────────────┴─────────────────────────────┘

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

SunOS 5.10			  6 Oct 2004			types.h(3HEAD)
[top]

List of man pages available for SunOS

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net