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 |
|