NetWare tweaks from Ananth Kesari.
[p5sagit/p5-mst-13.2.git] / NetWare / netware.h
1
2 /*
3  * Copyright © 2001 Novell, Inc. All Rights Reserved.
4  *
5  * You may distribute under the terms of either the GNU General Public
6  * License or the Artistic License, as specified in the README file.
7  *
8  */
9
10 /*
11  * FILENAME             :       netware.h
12  * DESCRIPTION  :       Include for NetWare stuff.
13  *                  This is based on the win32.h file of Win32 port.
14  * Author               :       SGP
15  * Date                 :       January 2001.
16  *
17  */
18
19
20
21 #ifndef  _INC_NW_PERL5
22 #define  _INC_NW_PERL5
23
24 #include <dirent.h>
25 #include "stdio.h"
26
27 // to get the internal debugger break for functions that are not yet handled
28 #include "deb.h"
29
30 #ifndef EXT
31 #include "EXTERN.h"
32 #endif
33
34 //structure that will be used by times routine.
35 struct tms {
36         long    tms_utime;
37         long    tms_stime;
38         long    tms_cutime;
39         long    tms_cstime;
40 };
41
42 #define PERL_GET_CONTEXT_DEFINED
43 #define ENV_IS_CASELESS
44
45 #undef   init_os_extras
46 #define  init_os_extras Perl_init_os_extras
47
48 #define HAVE_INTERP_INTERN
49 struct interp_intern {
50     void *      internal_host;
51     long        perlshell_items;        // For system() ;  Ananth, 3 Sept 2001
52 };
53
54 /*
55  * handle socket stuff, assuming socket is always available
56  */
57 #include <sys/socket.h>
58 #include <sys/types.h>
59 #include <netdb.h>
60
61 //This is clashing with a definition in perly.h, hence
62 //undefine, may have to redefine if need be - CHKSGP
63 #undef WORD
64
65 #ifndef SOCKET
66 typedef u_int           SOCKET;
67 #endif
68
69 #define nw_internal_host                (PL_sys_intern.internal_host)
70 #define nw_perlshell_items      (PL_sys_intern.perlshell_items)         // For system() ;  Ananth, 3 Sept 2001
71
72 EXTERN_C void   Perl_nw5_init(int *argcp, char ***argvp);
73
74 #define PTHREAD_ATFORK(prepare,parent,child)    NOOP
75
76 /*
77  * This provides a layer of functions and macros to ensure extensions will
78  * get to use the same RTL functions as the core.
79  */
80 #include "nw5iop.h"
81
82 // Below is called in Run.c file when a perl script executes/runs.
83 #ifdef MPK_ON
84         #define PERL_ASYNC_CHECK() kYieldThread();
85 #else
86         #define PERL_ASYNC_CHECK() ThreadSwitch();
87 #endif
88
89
90 #endif /* _INC_NW_PERL5 */
91