extra code in pp_concat, Take 2
[p5sagit/p5-mst-13.2.git] / NetWare / nwpipe.h
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