1 /* HOSTINFO.H (c) Copyright "Fish" (David B. Trout), 2002-2009 */ 2 /* Host system information header file */ 3 4 /* Released under the Q Public License */ 5 /* (http://www.hercules-390.org/herclic.html) */ 6 /* as modifications to Hercules. */ 7 8 /*-------------------------------------------------------------------*/ 9 /* Header file contains host system information */ 10 /*-------------------------------------------------------------------*/ 11 12 #ifndef _HOSTINFO_H_ 13 #define _HOSTINFO_H_ 14 15 #include "hercules.h" 16 17 #ifndef _HOSTINFO_C_ 18 #ifndef _HUTIL_DLL_ 19 #define HI_DLL_IMPORT DLL_IMPORT 20 #else /* _HUTIL_DLL_ */ 21 #define HI_DLL_IMPORT extern 22 #endif /* _HUTIL_DLL_ */ 23 #else 24 #define HI_DLL_IMPORT DLL_EXPORT 25 #endif 26 27 typedef struct HOST_INFO 28 { 29 char sysname[20]; 30 char nodename[20]; 31 char release[20]; 32 char version[50]; 33 char machine[20]; 34 int trycritsec_avail; /* 1=TryEnterCriticalSection */ 35 int num_procs; /* #of processors */ 36 } HOST_INFO; 37 38 HI_DLL_IMPORT HOST_INFO hostinfo; 39 HI_DLL_IMPORT void init_hostinfo ( HOST_INFO* pHostInfo ); 40 HI_DLL_IMPORT void display_hostinfo ( HOST_INFO* pHostInfo, FILE *f,int httpfd ); 41 HI_DLL_IMPORT char* get_hostinfo_str ( HOST_INFO* pHostInfo, 42 char* pszHostInfoStrBuff, 43 size_t nHostInfoStrBuffSiz ); 44 45 /* Hercules Host Information structure (similar to utsname struct) */ 46 47 48 #endif // _HOSTINFO_H_ 49