00001 /*-------------------------------------------------------------------------- 00002 00003 Copyright (c) 2006-2007, Intellectual Reserve, Inc. All rights reserved. 00004 00005 This program is free software; you can redistribute it and/or modify 00006 it under the terms of the GNU General Public License version 2 as 00007 published by the Free Software Foundation. 00008 00009 This program is distributed in the hope that it will be useful, 00010 but WITHOUT ANY WARRANTY; without even the implied warranty of 00011 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00012 GNU General Public License for more details. 00013 00014 You should have received a copy of the GNU General Public License 00015 along with this program; if not, write to the Free Software 00016 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 00017 00018 --------------------------------------------------------------------------*/ 00019 00050 #ifndef _PFOPEN_H_ 00051 #define _PFOPEN_H_ 00052 00053 #include <sys/types.h> // for pid_t on some systems 00054 #include <unistd.h> 00055 #include <stdio.h> 00056 00057 #define PF_OUT(pf) ((pf)->fp[0]) 00058 #define PF_ERR(pf) ((pf)->fp[1]) 00059 #define PF_IN(pf) ((pf)->fp[2]) 00060 00061 typedef struct _pfile_ 00062 { 00063 FILE * fp[3]; 00064 pid_t pid; 00065 } PFILE; 00066 00067 PFILE * pfopen(const char * cmdstring, const char * type); 00068 int pfclose(PFILE * pfile); 00069 int pfkill(PFILE * pfile, int sig); 00070 00071 #endif /* _PFOPEN_H_ */ 00072