/* * Copyright © 2001 Novell, Inc. All Rights Reserved. * * You may distribute under the terms of either the GNU General Public * License or the Artistic License, as specified in the README file. * */ /* * FILENAME : NWUtil.h * DESCRIPTION : Utility functions for NetWare implementation of Perl. * Author : HYAK, SGP * Date : January 2001. * */ #ifndef __NWUtil_H__ #define __NWUtil_H__ #include "stdio.h" #include #include "win32ish.h" // For "BOOL", "TRUE" and "FALSE" #ifdef MPK_ON #include #include #else #include #endif //MPK_ON // Name of console command to invoke perl #define PERL_COMMAND_NAME "perl" // Name of console command to load an NLM #define LOAD_COMMAND "load" typedef struct tagCommandLineParser { BOOL m_noScreen; BOOL m_AutoDestroy; BOOL m_isValid; int m_argc; int m_argv_len; #ifdef MPK_ON SEMAPHORE m_qSemaphore; #else long m_qSemaphore; #endif char* m_redirInName; char* m_redirOutName; char* m_redirErrName; char* m_redirBothName; char* nextarg; char* sSkippedToken; char** m_argv; char** new_argv; }COMMANDLINEPARSER, *PCOMMANDLINEPARSER; char* fnSkipWhite(char* cptr); char* fnNwGetEnvironmentStr(char *name, char *defaultvalue); char* fnSkipToken(char *s, char *r); char* fnScanToken(char* x, char *r); char* fnStashString(char *s, char *r, int length); void fnAppendArgument(PCOMMANDLINEPARSER pclp, char * new_arg); void fnDeleteArgument(PCOMMANDLINEPARSER pclp, int index); void fnCommandLineParser(PCOMMANDLINEPARSER pclp, char * commandLine, BOOL preserveQuotes); void fnSystemCommand (char** argv, int argc); void fnInternalPerlLaunchHandler(char* cmdLine); char* fnMy_MkTemp(char* templatestr); /* NWDEFPERLROOT: * This symbol contains the name of the starting default directory to search * for scripts to run. */ #define NWDEFPERLROOT "sys:\\perl\\scripts" /* NWDEFPERLTEMP: * This symbol contains the name of the default temp files directory. */ #define NWDEFPERLTEMP "sys:\\perl\\temp" #endif // __NWUtil_H__