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 |
|
---|
86 | /* NWDEFPERLROOT:
|
---|
87 | * This symbol contains the name of the starting default directory to search
|
---|
88 | * for scripts to run.
|
---|
89 | */
|
---|
90 | #define NWDEFPERLROOT "sys:\\perl\\scripts"
|
---|
91 |
|
---|
92 | /* NWDEFPERLTEMP:
|
---|
93 | * This symbol contains the name of the default temp files directory.
|
---|
94 | */
|
---|
95 | #define NWDEFPERLTEMP "sys:\\perl\\temp"
|
---|
96 |
|
---|
97 |
|
---|
98 | #endif // __NWUtil_H__
|
---|
99 |
|
---|