/*
* 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 : NWPipe.h
* DESCRIPTION : Functions to implement pipes on NetWare.
* Author : HYAK
* Date : January 2001.
*
*/
#ifndef __NWPipe_H__
#define __NWPipe_H__
#include "stdio.h"
#include "nwutil.h"
#define MAX_PIPE_RECURSION 256
typedef struct tagTempPipeFile
{
BOOL m_mode; // FALSE - Read mode ; TRUE - Write mode
BOOL m_launchPerl;
BOOL m_doPerlGlob;
int m_argv_len;
char * m_fileName;
char** m_argv;
char * m_redirect;
#ifdef MPK_ON
SEMAPHORE m_perlSynchSemaphore;
#else
long m_perlSynchSemaphore;
#endif
FILE* m_file;
PCOMMANDLINEPARSER m_pipeCommand;
} TEMPPIPEFILE, *PTEMPPIPEFILE;
void fnPipeFileClose(PTEMPPIPEFILE ptpf);
void fnPipeFileDoPerlLaunch(PTEMPPIPEFILE ptpf);
BOOL fnPipeFileMakeArgv(PTEMPPIPEFILE ptpf);
FILE* fnPipeFileOpen(PTEMPPIPEFILE ptpf, char* command, char* mode);
void fnTempPipeFileReleaseMemory(PTEMPPIPEFILE ptpf);
#endif // __NWPipe_H__
|