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 SEXP_OUTPUT_H 00025 #define SEXP_OUTPUT_H 00026 00027 #include <stdio.h> 00028 #include <unistd.h> 00029 #include <seap-debug.h> 00030 #include <sexp-types.h> 00031 00032 #ifdef __cplusplus 00033 extern "C" { 00034 #endif 00035 00036 typedef struct SEXP_ostate SEXP_ostate_t; 00037 00038 size_t SEXP_fprintfa (FILE *fp, const SEXP_t *s_exp); 00039 00040 #if defined(STRBUF_H) 00041 int SEXP_sbprintf_t (SEXP_t *s_exp, strbuf_t *sb); 00042 #endif 00043 00044 #if 0 00045 /* Generic */ 00046 int SEXP_printf (SEXP_format_t fmt, SEXP_t *sexp); 00047 int SEXP_fprintf (FILE *fp, SEXP_format_t fmt, SEXP_t *sexp); 00048 int SEXP_dprintf (int fd, SEXP_format_t fmt, SEXP_t *sexp); 00049 int SEXP_sprintf (char *str, SEXP_format_t fmt, SEXP_t *sexp); 00050 int SEXP_snprintf (char *str, size_t size, SEXP_format_t fmt, SEXP_t *sexp); 00051 int SEXP_asprintf (char **ret, SEXP_format_t fmt, SEXP_t *sexp); 00052 int SEXP_asnprintf (char **ret, size_t maxsz, SEXP_format_t fmt, SEXP_t *sexp); 00053 00054 ssize_t SEXP_st_dprintf (int fd, SEXP_format_t fmt, SEXP_t *sexp, SEXP_ostate_t **ost); 00055 ssize_t SEXP_st_dnprintf (int fd, size_t maxsz, SEXP_format_t fmt, SEXP_t *sexp, SEXP_ostate_t **ost); 00056 00057 /* Canonical */ 00058 ssize_t SEXP_st_dprintc (int fd, SEXP_t *sexp, SEXP_ostate_t **ost); 00059 ssize_t SEXP_st_dnprintc (int fd, size_t maxsz, SEXP_t *sexp, SEXP_ostate_t **ost); 00060 00061 #define SEXP_printf_canonical SEXP_printfc 00062 #define SEXP_fprintf_canonical SEXP_fprintfc 00063 #define SEXP_dprintf_canonical SEXP_dprintfc 00064 #define SEXP_sprintf_canonical SEXP_sprintfc 00065 #define SEXP_snprintf_canonical SEXP_snprintfc 00066 #define SEXP_asprintf_canonical SEXP_asprintfc 00067 #define SEXP_asnprintf_canonical SEXP_asnprintfc 00068 00069 int SEXP_printfc (SEXP_t *sexp); 00070 int SEXP_fprintfc (FILE *fp, SEXP_t *sexp); 00071 int SEXP_dprintfc (int fd, SEXP_t *sexp); 00072 int SEXP_sprintfc (char *str, SEXP_t *sexp); 00073 int SEXP_snprintfc (char *str, size_t size, SEXP_t *sexp); 00074 int SEXP_asprintfc (char **ret, SEXP_t *sexp); 00075 int SEXP_asnprintfc (char **ret, size_t maxsz, SEXP_t *sexp); 00076 00077 /* Advanced */ 00078 ssize_t SEXP_st_dprinta (int fd, SEXP_t *sexp, SEXP_ostate_t **ost); 00079 ssize_t SEXP_st_dnprinta (int fd, size_t maxsz, SEXP_t *sexp, SEXP_ostate_t **ost); 00080 00081 #define SEXP_printf_advanced SEXP_printfa 00082 #define SEXP_fprintf_advanced SEXP_fprintfa 00083 #define SEXP_dprintf_advanced SEXP_dprintfa 00084 #define SEXP_sprintf_advanced SEXP_sprintfa 00085 #define SEXP_snprintf_advanced SEXP_snprintfa 00086 #define SEXP_asprintf_advanced SEXP_asprintfa 00087 #define SEXP_asnprintf_advanced SEXP_asnprintfa 00088 00089 int SEXP_printfa (SEXP_t *sexp); 00090 int SEXP_fprintfa (FILE *fp, SEXP_t *sexp); 00091 int SEXP_dprintfa (int fd, SEXP_t *sexp); 00092 int SEXP_sprintfa (char *str, SEXP_t *sexp); 00093 int SEXP_snprintfa (char *str, size_t size, SEXP_t *sexp); 00094 int SEXP_asprintfa (char **ret, SEXP_t *sexp); 00095 int SEXP_asnprintfa (char **ret, size_t maxsz, SEXP_t *sexp); 00096 00097 /* Transport */ 00098 ssize_t SEXP_st_dprintt (int fd, SEXP_t *sexp, SEXP_ostate_t **ost); 00099 ssize_t SEXP_st_dnprintt (int fd, size_t maxsz, SEXP_t *sexp, SEXP_ostate_t **ost); 00100 00101 #define SEXP_printf_transport SEXP_printft 00102 #define SEXP_fprintf_transport SEXP_fprintft 00103 #define SEXP_dprintf_transport SEXP_dprintft 00104 #define SEXP_sprintf_transport SEXP_sprintft 00105 #define SEXP_snprintf_transport SEXP_snprintft 00106 #define SEXP_asprintf_transport SEXP_asprintft 00107 #define SEXP_asnprintf_transport SEXP_asnprintft 00108 00109 int SEXP_printft (SEXP_t *sexp); 00110 int SEXP_fprintft (FILE *fp, SEXP_t *sexp); 00111 int SEXP_dprintft (int fd, SEXP_t *sexp); 00112 int SEXP_sprintft (char *str, SEXP_t *sexp); 00113 int SEXP_snprintft (char *str, size_t size, SEXP_t *sexp); 00114 int SEXP_asprintft (char **ret, SEXP_t *sexp); 00115 int SEXP_asnprintft (char **ret, size_t maxsz, SEXP_t *sexp); 00116 #endif /* 0 */ 00117 00118 #ifdef __cplusplus 00119 } 00120 #endif 00121 00122 #endif /* SEXP_OUTPUT_H */