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