blob: e454e98a7bf003439873f2580dd4238d85110d93 (
plain) (
tree)
|
|
/*++
Copyright (c) 1991-1996 Microsoft Corporation
Module Name:
types.h
Abstract:
This module contains the primitive system data types described
in section 2.6 of IEEE P1003.1/Draft 13 as well as type definitions
for sockets and streams
--*/
#ifndef _SYS_TYPES_
#define _SYS_TYPES_
#ifdef __cplusplus
extern "C" {
#endif
/*
* Conditional macro definition for function calling type and variable type
* qualifiers.
*
* Convention: _CRTAPI1 is for functions with a fixed number of arguments
* _CRTAPI2 is for functions with a variable number of arguments
*/
#if ( (_MSC_VER >= 800) && (_M_IX86 >= 300) )
/*
* Definitions for MS C8-32 (386/486) compiler
*/
#define _CRTAPI1 __cdecl
#define _CRTAPI2 __cdecl
#elif ( _MSC_VER == 600 )
/*
* Definitions for old MS C6-386 compiler
*/
#define _CRTAPI1 _cdecl
#define _CRTAPI2 _cdecl
#define _M_IX86 300
#else
/*
* Other compilers (e.g., MIPS)
*/
#define _CRTAPI1
#define _CRTAPI2
#endif
/*
* POSIX data types
*/
typedef unsigned long gid_t;
typedef unsigned long mode_t;
typedef unsigned long nlink_t;
typedef long pid_t;
typedef unsigned long uid_t;
#ifndef _OFF_T_DEFINED
typedef long off_t;
#define _OFF_T_DEFINED
#endif
#ifndef _DEV_T_DEFINED
typedef unsigned long dev_t;
#define _DEV_T_DEFINED
#endif
#ifndef _INO_T_DEFINED
typedef unsigned long ino_t;
#define _INO_T_DEFINED
#endif
#ifndef _TIME_T_DEFINED
typedef long time_t;
#define _TIME_T_DEFINED
#endif
#ifndef _SIZE_T_DEFINED
typedef unsigned int size_t;
#define _SIZE_T_DEFINED
#endif
#ifndef _SSIZE_T_DEFINED
typedef signed int ssize_t;
#define _SSIZE_T_DEFINED
#endif
#ifndef _POSIX_SOURCE
/*
* Additional types for sockets and streams
*/
typedef unsigned char u_char;
typedef unsigned short u_short;
typedef unsigned short ushort;
typedef unsigned int u_int;
typedef unsigned long u_long;
typedef unsigned int uint;
typedef unsigned long ulong;
typedef unsigned char unchar;
typedef char *caddr_t;
typedef int key_t; /* Imported!!! */
#endif /* _POSIX_SOURCE */
#ifdef __cplusplus
}
#endif
#endif /* _SYS_TYPES_ */
|