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     char *	perlshell_tokens;	// For system() ; From Win32 of Perl 5.8 on 24 June 2002
54     char **	perlshell_vec;	// For system() ; From Win32 of Perl 5.8 on 24 June 2002
55 };
56 
57 /*
58  * handle socket stuff, assuming socket is always available
59  */
60 #include <sys/socket.h>
61 #include <sys/types.h>
62 #include <netdb.h>
63 
64 //This is clashing with a definition in perly.h, hence
65 //undefine, may have to redefine if need be - CHKSGP
66 #undef WORD
67 
68 #ifndef SOCKET
69 typedef u_int           SOCKET;
70 #endif
71 
72 #define nw_internal_host		(PL_sys_intern.internal_host)
73 #define nw_perlshell_items	(PL_sys_intern.perlshell_items)		// For system() ;  Ananth, 3 Sept 2001
74 
75 #define nw_perlshell_tokens	(PL_sys_intern.perlshell_tokens)	// For system() ; From Win32 of Perl 5.8 on 24 June 2002
76 #define nw_perlshell_vec	(PL_sys_intern.perlshell_vec)	// For system() ; From Win32 of Perl 5.8 on 24 June 2002
77 
78 EXTERN_C void	Perl_nw5_init(int *argcp, char ***argvp);
79 
80 #define PTHREAD_ATFORK(prepare,parent,child)	NOOP
81 
82 /*
83  * This provides a layer of functions and macros to ensure extensions will
84  * get to use the same RTL functions as the core.
85  */
86 #include "nw5iop.h"
87 
88 // Below is called in Run.c file when a perl script executes/runs.
89 #ifdef MPK_ON
90 	#define PERL_ASYNC_CHECK() kYieldThread();
91 #else
92 	#define PERL_ASYNC_CHECK() ThreadSwitch();
93 #endif
94 
95 
96 #endif /* _INC_NW_PERL5 */
97 
98