types.h man page on SmartOS

Printed from http://www.polarhome.com/service/man/?qf=types.h&af=0&tf=2&of=SmartOS

TYPES.H(3HEAD)							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)

				  Oct 6, 2004			TYPES.H(3HEAD)
[top]

List of man pages available for SmartOS

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