00001 #pragma once
00002 #ifndef SEXP_OUTPUT_H
00003 #define SEXP_OUTPUT_H
00004
00005 #include <stdio.h>
00006 #include <unistd.h>
00007 #include <seap-debug.h>
00008 #include <sexp-types.h>
00009
00010 typedef struct SEXP_ostate SEXP_ostate_t;
00011
00012 size_t SEXP_fprintfa (FILE *fp, const SEXP_t *s_exp);
00013
00014 #if defined(STRBUF_H)
00015 int SEXP_sbprintf_t (SEXP_t *s_exp, strbuf_t *sb);
00016 #endif
00017
00018 #if 0
00019
00020 int SEXP_printf (SEXP_format_t fmt, SEXP_t *sexp);
00021 int SEXP_fprintf (FILE *fp, SEXP_format_t fmt, SEXP_t *sexp);
00022 int SEXP_dprintf (int fd, SEXP_format_t fmt, SEXP_t *sexp);
00023 int SEXP_sprintf (char *str, SEXP_format_t fmt, SEXP_t *sexp);
00024 int SEXP_snprintf (char *str, size_t size, SEXP_format_t fmt, SEXP_t *sexp);
00025 int SEXP_asprintf (char **ret, SEXP_format_t fmt, SEXP_t *sexp);
00026 int SEXP_asnprintf (char **ret, size_t maxsz, SEXP_format_t fmt, SEXP_t *sexp);
00027
00028 ssize_t SEXP_st_dprintf (int fd, SEXP_format_t fmt, SEXP_t *sexp, SEXP_ostate_t **ost);
00029 ssize_t SEXP_st_dnprintf (int fd, size_t maxsz, SEXP_format_t fmt, SEXP_t *sexp, SEXP_ostate_t **ost);
00030
00031
00032 ssize_t SEXP_st_dprintc (int fd, SEXP_t *sexp, SEXP_ostate_t **ost);
00033 ssize_t SEXP_st_dnprintc (int fd, size_t maxsz, SEXP_t *sexp, SEXP_ostate_t **ost);
00034
00035 #define SEXP_printf_canonical SEXP_printfc
00036 #define SEXP_fprintf_canonical SEXP_fprintfc
00037 #define SEXP_dprintf_canonical SEXP_dprintfc
00038 #define SEXP_sprintf_canonical SEXP_sprintfc
00039 #define SEXP_snprintf_canonical SEXP_snprintfc
00040 #define SEXP_asprintf_canonical SEXP_asprintfc
00041 #define SEXP_asnprintf_canonical SEXP_asnprintfc
00042
00043 int SEXP_printfc (SEXP_t *sexp);
00044 int SEXP_fprintfc (FILE *fp, SEXP_t *sexp);
00045 int SEXP_dprintfc (int fd, SEXP_t *sexp);
00046 int SEXP_sprintfc (char *str, SEXP_t *sexp);
00047 int SEXP_snprintfc (char *str, size_t size, SEXP_t *sexp);
00048 int SEXP_asprintfc (char **ret, SEXP_t *sexp);
00049 int SEXP_asnprintfc (char **ret, size_t maxsz, SEXP_t *sexp);
00050
00051
00052 ssize_t SEXP_st_dprinta (int fd, SEXP_t *sexp, SEXP_ostate_t **ost);
00053 ssize_t SEXP_st_dnprinta (int fd, size_t maxsz, SEXP_t *sexp, SEXP_ostate_t **ost);
00054
00055 #define SEXP_printf_advanced SEXP_printfa
00056 #define SEXP_fprintf_advanced SEXP_fprintfa
00057 #define SEXP_dprintf_advanced SEXP_dprintfa
00058 #define SEXP_sprintf_advanced SEXP_sprintfa
00059 #define SEXP_snprintf_advanced SEXP_snprintfa
00060 #define SEXP_asprintf_advanced SEXP_asprintfa
00061 #define SEXP_asnprintf_advanced SEXP_asnprintfa
00062
00063 int SEXP_printfa (SEXP_t *sexp);
00064 int SEXP_fprintfa (FILE *fp, SEXP_t *sexp);
00065 int SEXP_dprintfa (int fd, SEXP_t *sexp);
00066 int SEXP_sprintfa (char *str, SEXP_t *sexp);
00067 int SEXP_snprintfa (char *str, size_t size, SEXP_t *sexp);
00068 int SEXP_asprintfa (char **ret, SEXP_t *sexp);
00069 int SEXP_asnprintfa (char **ret, size_t maxsz, SEXP_t *sexp);
00070
00071
00072 ssize_t SEXP_st_dprintt (int fd, SEXP_t *sexp, SEXP_ostate_t **ost);
00073 ssize_t SEXP_st_dnprintt (int fd, size_t maxsz, SEXP_t *sexp, SEXP_ostate_t **ost);
00074
00075 #define SEXP_printf_transport SEXP_printft
00076 #define SEXP_fprintf_transport SEXP_fprintft
00077 #define SEXP_dprintf_transport SEXP_dprintft
00078 #define SEXP_sprintf_transport SEXP_sprintft
00079 #define SEXP_snprintf_transport SEXP_snprintft
00080 #define SEXP_asprintf_transport SEXP_asprintft
00081 #define SEXP_asnprintf_transport SEXP_asnprintft
00082
00083 int SEXP_printft (SEXP_t *sexp);
00084 int SEXP_fprintft (FILE *fp, SEXP_t *sexp);
00085 int SEXP_dprintft (int fd, SEXP_t *sexp);
00086 int SEXP_sprintft (char *str, SEXP_t *sexp);
00087 int SEXP_snprintft (char *str, size_t size, SEXP_t *sexp);
00088 int SEXP_asprintft (char **ret, SEXP_t *sexp);
00089 int SEXP_asnprintft (char **ret, size_t maxsz, SEXP_t *sexp);
00090 #endif
00091
00092 #endif