Open SCAP Library
|
00001 /* 00002 * Copyright 2009 Red Hat Inc., Durham, North Carolina. 00003 * All Rights Reserved. 00004 * 00005 * This library is free software; you can redistribute it and/or 00006 * modify it under the terms of the GNU Lesser General Public 00007 * License as published by the Free Software Foundation; either 00008 * version 2.1 of the License, or (at your option) any later version. 00009 * 00010 * This library is distributed in the hope that it will be useful, 00011 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00012 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 00013 * Lesser General Public License for more details. 00014 * 00015 * You should have received a copy of the GNU Lesser General Public 00016 * License along with this library; if not, write to the Free Software 00017 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 00018 * 00019 * Authors: 00020 * "Daniel Kopecek" <dkopecek@redhat.com> 00021 */ 00022 00023 #pragma once 00024 #ifndef SCH_PIPE_H 00025 #define SCH_PIPE_H 00026 00027 #include <sys/types.h> 00028 #include <unistd.h> 00029 #include "../../../common/util.h" 00030 00031 OSCAP_HIDDEN_START; 00032 00033 typedef struct { 00034 int pfd; 00035 pid_t pid; 00036 char *execpath; 00037 } sch_pipedata_t; 00038 00039 int sch_pipe_connect (SEAP_desc_t *desc, const char *uri, uint32_t flags); 00040 int sch_pipe_openfd (SEAP_desc_t *desc, int fd, uint32_t flags); 00041 int sch_pipe_openfd2 (SEAP_desc_t *desc, int ifd, int ofd, uint32_t flags); 00042 ssize_t sch_pipe_recv (SEAP_desc_t *desc, void *buf, size_t len, uint32_t flags); 00043 ssize_t sch_pipe_send (SEAP_desc_t *desc, void *buf, size_t len, uint32_t flags); 00044 ssize_t sch_pipe_sendsexp (SEAP_desc_t *desc, SEXP_t *sexp, uint32_t flags); 00045 int sch_pipe_close (SEAP_desc_t *desc, uint32_t flags); 00046 int sch_pipe_select (SEAP_desc_t *desc, int ev, uint16_t timeout, uint32_t flags); 00047 00048 OSCAP_HIDDEN_END; 00049 00050 #endif /* SCH_PIPE_H */