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