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 : NWPipe.h 12 * DESCRIPTION : Functions to implement pipes on NetWare. 13 * Author : HYAK 14 * Date : January 2001. 15 * 16 */ 17 18 19 20 #ifndef __NWPipe_H__ 21 #define __NWPipe_H__ 22 23 24 #include "stdio.h" 25 #include "nwutil.h" 26 27 #define MAX_PIPE_RECURSION 256 28 29 30 typedef struct tagTempPipeFile 31 { 32 BOOL m_mode; // FALSE - Read mode ; TRUE - Write mode 33 BOOL m_launchPerl; 34 BOOL m_doPerlGlob; 35 36 int m_argv_len; 37 38 char * m_fileName; 39 char** m_argv; 40 char * m_redirect; 41 42 #ifdef MPK_ON 43 SEMAPHORE m_perlSynchSemaphore; 44 #else 45 long m_perlSynchSemaphore; 46 #endif 47 48 FILE* m_file; 49 PCOMMANDLINEPARSER m_pipeCommand; 50 51 } TEMPPIPEFILE, *PTEMPPIPEFILE; 52 53 54 void fnPipeFileClose(PTEMPPIPEFILE ptpf); 55 void fnPipeFileDoPerlLaunch(PTEMPPIPEFILE ptpf); 56 BOOL fnPipeFileMakeArgv(PTEMPPIPEFILE ptpf); 57 FILE* fnPipeFileOpen(PTEMPPIPEFILE ptpf, char* command, char* mode); 58 void fnTempPipeFileReleaseMemory(PTEMPPIPEFILE ptpf); 59 60 61 #endif // __NWPipe_H__ 62 63