unixdev.net


Switch to SpeakEasy.net DSL

The Modular Manual Browser

Home Page
Manual: (HP-UX-11.11)
Page:
Section:
Apropos / Subsearch:
optional field



 model(4)							    model(4)




 NAME
      model - HP-UX machine identification (deprecated)

 SYNOPSIS
      #include <&lt&lt&lt;model.h>&gt&gt&gt;

 DESCRIPTION
      There are certain inevitable distinctions between HP-UX
      implementations due to hardware differences.  Where such distinctions
      exist, conditional compilation or other definitions can be used to
      isolate the differences.	Flags and typedefs to resolve these
      distinctions are collected in the <model.h> header file which contains
      constants identifying various HP-UX implementations.

      For example, header file model.h contains the following constants
      whose values are defined in <sys/magic.h>:

	   #define   HP_S_500	HP9000_ID
	   #define   HP_S_200	HP98x6_ID
	   #define   HP_S_300	CPU_HP_MC68020
	   #define   HP_S_800	CPU_PA_RISC1_0
	   #define   HP_S_700	CPU_PA_RISC1_1

      Other such constants are added as appropriate when HP-UX extends to
      other machines in subsequent releases.

      In addition, model.h has a statement defining the preprocessor
      constant MYSYS to represent the specific implementation for which
      compilation is desired.  MYSYS is always equal to one of the constants
      above.

      Conditional compilation can be used to adapt a single file for
      execution on more than one HP-UX implementation if the file contains
      implementation- or architecture-dependent features.  For example, the
      code segment:

	   #if MYSYS==HP_S_400
		<statements>
	   #endif

      causes statements following the if statement to be compiled only if
      the system processor is an HP 9000 Series 400 machine.

      model.h also contains typedefs for several predefined types to enhance
      portability of certain types of code and files.

      These typedef declarations have been replaced by the header file
      inttypes.h

	   int8, u_int8			 Signed and unsigned 8-bit integral
					 type.



 Hewlett-Packard Company	    - 1 -   HP-UX Release 11i: November 2000






 model(4)							    model(4)




	   int16, u_int16		 Signed and unsigned 16-bit integral
					 type.
	   int32, u_int32		 Signed and unsigned 32-bit integral
					 type.
	   machptr, u_machptr		 Signed and unsigned integral type
					 large enough to hold a pointer.

      To port code to use inttypes.h instead of model.h, these are the
      corresponding definitions contained in intypes.h

	   int8_t, uint8_t		 Signed and unsigned 8-bit integral
					 types.
	   int16_t, uint16_t		 Signed and unsigned 16-bit integral
					 types.
	   int32_t, uint32_t		 Signed and unsigned 32-bit integral
					 types.
	   intptr_t, uintptr_T		 Signed and unsigned integral large
					 enough to hold a pointer.

      Certain C preprocessor conditional compilation variables are defined
      to aid in implementation-dependent code.	See cpp(1).

 SEE ALSO
      cc(1), cpp(1), inttypes(5), magic(4).






























 Hewlett-Packard Company	    - 2 -   HP-UX Release 11i: November 2000