gretl_prn

gretl_prn —

Synopsis




enum        PrnType;
enum        PrnFormat;
void        gretl_print_destroy             (PRN *prn);
PRN*        gretl_print_new                 (PrnType ptype);
PRN*        gretl_print_new_with_filename   (const char *fname);
PRN*        gretl_print_new_with_buffer     (char *buf);
int         gretl_print_reset_buffer        (PRN *prn);
const char* gretl_print_get_buffer          (PRN *prn);
int         gretl_print_set_save_position   (PRN *prn);
void        gretl_print_unset_save_position (PRN *prn);
char*       gretl_print_get_chunk           (PRN *prn);
void        gretl_print_set_format          (PRN *prn,
                                             PrnFormat format);
void        gretl_print_toggle_doc_flag     (PRN *prn);
void        gretl_print_set_delim           (PRN *prn,
                                             char delim);
int         pprintf                         (PRN *prn,
                                             const char *template,
                                             ...);
int         pputs                           (PRN *prn,
                                             const char *s);
int         pputc                           (PRN *prn,
                                             int c);
void        gretl_prn_newline               (PRN *prn);
void        gretl_print_flush_stream        (PRN *prn);
int         printing_to_standard_stream     (PRN *prn);
int         printing_is_redirected          (PRN *prn);
int         print_start_redirection         (PRN *prn,
                                             FILE *fp);
int         print_end_redirection           (PRN *prn);
int         plain_format                    (PRN *prn);
int         rtf_format                      (PRN *prn);
int         rtf_doc_format                  (PRN *prn);
int         tex_format                      (PRN *prn);
int         tex_doc_format                  (PRN *prn);
int         tex_eqn_format                  (PRN *prn);
int         csv_format                      (PRN *prn);
int         prn_format                      (PRN *prn);
char        prn_delim                       (PRN *prn);

Description

Details

enum PrnType

typedef enum {
    GRETL_PRINT_STDOUT,
    GRETL_PRINT_STDERR,
    GRETL_PRINT_FILE,
    GRETL_PRINT_BUFFER
} PrnType;


enum PrnFormat

typedef enum {
    GRETL_FORMAT_TXT       = 1 << 0,
    GRETL_FORMAT_TEX       = 1 << 1,
    GRETL_FORMAT_DOC       = 1 << 2,
    GRETL_FORMAT_RTF       = 1 << 3,
    GRETL_FORMAT_RTF_TXT   = 1 << 4,
    GRETL_FORMAT_EQN       = 1 << 5,
    GRETL_FORMAT_SELECTION = 1 << 6,
    GRETL_FORMAT_CSV       = 1 << 7,
    GRETL_FORMAT_TAB       = 1 << 8,
    GRETL_FORMAT_MODELTAB  = 1 << 9,
    GRETL_FORMAT_LANDSCAPE = 1 << 10
} PrnFormat;


gretl_print_destroy ()

void        gretl_print_destroy             (PRN *prn);

Close a gretl printing struct and free any associated resources.

prn : pointer to gretl printing struct.

gretl_print_new ()

PRN*        gretl_print_new                 (PrnType ptype);

Create and initialize a gretl printing struct. If ptype is GRETL_PRINT_BUFFER, output will go to an automatically resized buffer; if ptype is GRETL_PRINT_STDOUT or GRETL_PRINT_STDERR output goes to stdout or stderr respectively.

If you want a named file associated with the struct, use gretl_print_new_with_filename instead; if you want to attach a fixed, pre-allocated text buffer, use gretl_print_new_with_buffer.

ptype : code indicating the desired printing mode.
Returns : pointer to newly created struct, or NULL on failure.

gretl_print_new_with_filename ()

PRN*        gretl_print_new_with_filename   (const char *fname);

Create and initialize a gretl printing struct, with output directed to the named file.

fname : name of the file to be opened for writing.
Returns : pointer to newly created struct, or NULL on failure.

gretl_print_new_with_buffer ()

PRN*        gretl_print_new_with_buffer     (char *buf);

Creates and initializes a gretl printing struct, with fixed text buffer buf. Fails if buf is NULL. This is a convenience function: you can't use pprintf, pputs or pputc with a printing struct obtained in this way.

Note that buf will be freed if and when gretl_print_destroy is called on the PRN pointer obtained.

buf : pre-allocated text buffer.
Returns : pointer to newly created struct, or NULL on failure.

gretl_print_reset_buffer ()

int         gretl_print_reset_buffer        (PRN *prn);

Write a NUL byte to the start of the buffer associated with prn, if any.

prn : printing struct to operate on.
Returns : 0 on success, 1 on error.

gretl_print_get_buffer ()

const char* gretl_print_get_buffer          (PRN *prn);

Obtain a pointer to the buffer associated with prn, if any. This pointer must not be modified in any way.

prn : printing struct.
Returns : the buffer, or NULL on failure.

gretl_print_set_save_position ()

int         gretl_print_set_save_position   (PRN *prn);

Sets the current buffer offset as the position from which a chunk of the current buffer may be saved, using gretl_print_get_chunk().

prn : printing struct.
Returns : 0 on success, error code if prn is not connected to a buffer.

gretl_print_unset_save_position ()

void        gretl_print_unset_save_position (PRN *prn);

Erases the "save position" offset as set by gretl_print_set_save_position().

prn : printing struct.

gretl_print_get_chunk ()

char*       gretl_print_get_chunk           (PRN *prn);

Retrieves a copy of the buffer associated with prn, starting at the offset from the start of the buffer as set by gretl_print_set_save_position().

prn : printing struct.
Returns : allocated buffer on success, or NULL on error.

gretl_print_set_format ()

void        gretl_print_set_format          (PRN *prn,
                                             PrnFormat format);

Sets the printing format on prn.

prn : printing struct.
format : desired format code.

gretl_print_toggle_doc_flag ()

void        gretl_print_toggle_doc_flag     (PRN *prn);

prn :

gretl_print_set_delim ()

void        gretl_print_set_delim           (PRN *prn,
                                             char delim);

Sets the CSV delimiter on prn.

prn : printing struct.
delim : desired CSV field-delimiter.

pprintf ()

int         pprintf                         (PRN *prn,
                                             const char *template,
                                             ...);

Multi-purpose printing function: can output to stream, to buffer or to nowhere (silently discarding the output), depending on how prn was initialized. It's not advisable to use this function for large chunks of text: use pputs instead.

prn : gretl printing struct.
template : as in printf().
... : arguments to be printed.
Returns : the number of bytes printed, or -1 on memory allocation failure.

pputs ()

int         pputs                           (PRN *prn,
                                             const char *s);

prn : gretl printing struct.
s : constant string to print.
Returns : the number of bytes printed, or -1 on memory allocation failure.

pputc ()

int         pputc                           (PRN *prn,
                                             int c);

prn : gretl printing struct.
c : character to print
Returns : the number of bytes printed, or -1 on memory allocation failure.

gretl_prn_newline ()

void        gretl_prn_newline               (PRN *prn);

Print a line break, in the mode appropriate to the format of prn (plain text, TeX or RTF).

prn : gretl printing struct.

gretl_print_flush_stream ()

void        gretl_print_flush_stream        (PRN *prn);

If the output of prn is directed to a stream, flush that stream.

prn : gretl printing struct.

printing_to_standard_stream ()

int         printing_to_standard_stream     (PRN *prn);

prn : gretl printing struct.
Returns : 1 if the output of prn is directed to one of the standard streams, stdout or stderr, else 0.

printing_is_redirected ()

int         printing_is_redirected          (PRN *prn);

prn : gretl printing struct.
Returns : 1 if the output of prn has been redirected relative to its original setting, else 0.

print_start_redirection ()

int         print_start_redirection         (PRN *prn,
                                             FILE *fp);

Redirects output of prn to fp.

prn : gretl printing struct.
fp : stream to which output should be redirected.
Returns : 0 on success, 1 on error.

print_end_redirection ()

int         print_end_redirection           (PRN *prn);

If the output of prn has been diverted relative to its original setting, terminate the redirection.

prn : gretl printing struct.
Returns : 0 on success, 1 on error.

plain_format ()

int         plain_format                    (PRN *prn);

prn : gretl printing struct.
Returns : 1 if the format of prn is plain text, else 0.

rtf_format ()

int         rtf_format                      (PRN *prn);

prn : gretl printing struct.
Returns : 1 if the format of prn is RTF, else 0.

rtf_doc_format ()

int         rtf_doc_format                  (PRN *prn);

prn : gretl printing struct.
Returns : 1 if the format of prn is RTF, and the RTF preamble should be printed, else 0.

tex_format ()

int         tex_format                      (PRN *prn);

prn : gretl printing struct.
Returns : 1 if the format of prn is TeX, else 0.

tex_doc_format ()

int         tex_doc_format                  (PRN *prn);

prn : gretl printing struct.
Returns : 1 if the format of prn is TeX and a complete TeX document is being produced, else 0.

tex_eqn_format ()

int         tex_eqn_format                  (PRN *prn);

prn : gretl printing struct.
Returns : 1 if the format of prn is TeX and a model is being represented as an equation, rather than in tabular form, else 0.

csv_format ()

int         csv_format                      (PRN *prn);

prn : gretl printing struct.
Returns : 1 if the format of prn is CSV, else 0.

prn_format ()

int         prn_format                      (PRN *prn);

prn : gretl printing struct.
Returns : The formatting flags for prn.

prn_delim ()

char        prn_delim                       (PRN *prn);

prn : gretl printing struct.
Returns : The character to be used as delimiter for CSV.