Commit | Line | Data |
2986a63f |
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 : NWUtil.h |
12 | * DESCRIPTION : Utility functions for NetWare implementation of Perl. |
13 | * Author : HYAK, SGP |
14 | * Date : January 2001. |
15 | * |
16 | */ |
17 | |
18 | |
19 | |
20 | #ifndef __NWUtil_H__ |
21 | #define __NWUtil_H__ |
22 | |
23 | |
24 | #include "stdio.h" |
25 | #include <stdlib.h> |
26 | #include "win32ish.h" // For "BOOL", "TRUE" and "FALSE" |
27 | |
28 | |
29 | #ifdef MPK_ON |
30 | #include <mpktypes.h> |
31 | #include <mpkapis.h> |
32 | #else |
33 | #include <nwsemaph.h> |
34 | #endif //MPK_ON |
35 | |
36 | |
37 | // Name of console command to invoke perl |
38 | #define PERL_COMMAND_NAME "perl" |
39 | |
40 | // Name of console command to load an NLM |
41 | #define LOAD_COMMAND "load" |
42 | |
43 | |
44 | typedef struct tagCommandLineParser |
45 | { |
46 | BOOL m_noScreen; |
47 | BOOL m_AutoDestroy; |
48 | BOOL m_isValid; |
49 | |
50 | int m_argc; |
51 | int m_argv_len; |
52 | |
53 | #ifdef MPK_ON |
54 | SEMAPHORE m_qSemaphore; |
55 | #else |
56 | long m_qSemaphore; |
57 | #endif |
58 | |
59 | char* m_redirInName; |
60 | char* m_redirOutName; |
61 | char* m_redirErrName; |
62 | char* m_redirBothName; |
63 | char* nextarg; |
64 | char* sSkippedToken; |
65 | |
66 | char** m_argv; |
67 | char** new_argv; |
68 | |
69 | }COMMANDLINEPARSER, *PCOMMANDLINEPARSER; |
70 | |
71 | |
72 | |
73 | char* fnSkipWhite(char* cptr); |
74 | char* fnNwGetEnvironmentStr(char *name, char *defaultvalue); |
75 | char* fnSkipToken(char *s, char *r); |
76 | char* fnScanToken(char* x, char *r); |
77 | char* fnStashString(char *s, char *r, int length); |
78 | void fnAppendArgument(PCOMMANDLINEPARSER pclp, char * new_arg); |
79 | void fnDeleteArgument(PCOMMANDLINEPARSER pclp, int index); |
80 | void fnCommandLineParser(PCOMMANDLINEPARSER pclp, char * commandLine, BOOL preserveQuotes); |
81 | void fnSystemCommand (char** argv, int argc); |
82 | void fnInternalPerlLaunchHandler(char* cmdLine); |
83 | char* fnMy_MkTemp(char* templatestr); |
84 | |
85 | |
1db1659f |
86 | /* NWDEFPERLROOT: |
2986a63f |
87 | * This symbol contains the name of the starting default directory to search |
88 | * for scripts to run. |
89 | */ |
1db1659f |
90 | #define NWDEFPERLROOT "sys:\\perl\\scripts" |
2986a63f |
91 | |
1db1659f |
92 | /* NWDEFPERLTEMP: |
2986a63f |
93 | * This symbol contains the name of the default temp files directory. |
94 | */ |
1db1659f |
95 | #define NWDEFPERLTEMP "sys:\\perl\\temp" |
2986a63f |
96 | |
97 | |
98 | #endif // __NWUtil_H__ |
99 | |