Sun Microsystems, Inc.
spacerspacer
spacer   www.sun.com docs.sun.com | | |  
spacer
black dot
   
A   B   C   D   E   F   G   H   I   J   K   L   M   N   O   P   Q   R   S   T   U   V   W   X   Y   Z
    
 
Headerstypes(3HEAD)


NAME

 types - primitive system data types

SYNOPSIS

 
#include <sys/types.h>

DESCRIPTION

 

The data types defined in <sys/types.h> are discussed.

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

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.

NOTES

 

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 only be compiled 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 only be compiled as part of a 64-bit version of a given C program.

For example:
 
 #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


SunOS 5.9Go To TopLast Changed 30 Oct 1997

 
      
      
Copyright 2002 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms.