|  |  |  | Raptor RDF Syntax Parsing and Serializing Library Manual |  | 
|---|---|---|---|---|
typedef raptor_iostream; int (*raptor_iostream_init_func) (void *context); void (*raptor_iostream_finish_func) (void *context); int (*raptor_iostream_write_byte_func) (void *context, const int byte); int (*raptor_iostream_write_bytes_func) (void *context, const void *ptr, size_t size, size_t nmemb); void (*raptor_iostream_write_end_func) (void *context); raptor_iostream_handler; raptor_iostream* raptor_new_iostream_from_handler (void *context, const raptor_iostream_handler *handler); raptor_iostream* raptor_new_iostream_to_sink (void); raptor_iostream* raptor_new_iostream_to_filename (const char *filename); raptor_iostream* raptor_new_iostream_to_file_handle (FILE *handle); raptor_iostream* raptor_new_iostream_to_string (void **string_p, size_t *length_p, void* (*malloc_handler) (size_t size)); void raptor_free_iostream (raptor_iostream *iostr); int raptor_iostream_write_bytes (raptor_iostream *iostr, const void *ptr, size_t size, size_t nmemb); int raptor_iostream_write_byte (raptor_iostream *iostr, const int byte); void raptor_iostream_write_end (raptor_iostream *iostr); int raptor_iostream_write_string (raptor_iostream *iostr, const void *string); int raptor_iostream_write_counted_string (raptor_iostream *iostr, const void *string, size_t len); size_t raptor_iostream_get_bytes_written_count (raptor_iostream *iostr); int raptor_iostream_write_decimal (raptor_iostream *iostr, int integer); int raptor_iostream_format_hexadecimal (raptor_iostream *iostr, unsigned int integer, int width); int raptor_iostream_write_stringbuffer (raptor_iostream *iostr, raptor_stringbuffer *sb); int raptor_iostream_write_string_ntriples (raptor_iostream *iostr, unsigned char *string, size_t len, const char delim); void raptor_iostream_write_statement_ntriples (raptor_iostream *iostr, const raptor_statement *statement);
An class providing an I/O writer abstraction that allows generating
output that can be stored or passed on to system files, strings
allocated in memory (usually via raptor_stringbuffer), system
file handles (FILE*) or to a user function.
int (*raptor_iostream_init_func) (void *context);
Handler function for raptor_iostream initialising.
| context: | stream context data | 
| Returns : | non-0 on failure. | 
void (*raptor_iostream_finish_func) (void *context);
Handler function for raptor_iostream terminating.
| context: | stream context data | 
int         (*raptor_iostream_write_byte_func)
                                            (void *context,
                                             const int byte);
Handler function for implementing raptor_iostream_write_byte().
| context: | stream context data | 
| byte: | byte to write | 
| Returns : | non-0 on failure. | 
int         (*raptor_iostream_write_bytes_func)
                                            (void *context,
                                             const void *ptr,
                                             size_t size,
                                             size_t nmemb);
Handler function for implementing raptor_iostream_write_bytes().
| context: | stream context data | 
| ptr: | pointer to bytes to write | 
| size: | size of item | 
| nmemb: | number of items | 
| Returns : | non-0 on failure. | 
void        (*raptor_iostream_write_end_func)
                                            (void *context);
Handler function for implementing raptor_iostream_write_end().
| context: | stream context data | 
typedef struct {
  raptor_iostream_init_func         init;
  raptor_iostream_finish_func       finish;
  raptor_iostream_write_byte_func   write_byte;
  raptor_iostream_write_bytes_func  write_bytes;
  raptor_iostream_write_end_func    write_end;
} raptor_iostream_handler;
I/O stream implementation handler structure.
| raptor_iostream_init_func init; | initialisation handler - optional, called at most once | 
| raptor_iostream_finish_func finish; | finishing handler - optional, called at most once | 
| raptor_iostream_write_byte_func write_byte; | write byte handler - required | 
| raptor_iostream_write_bytes_func write_bytes; | write bytes handler - required | 
| raptor_iostream_write_end_func write_end; | write end handler - optional, called at most once | 
raptor_iostream* raptor_new_iostream_from_handler (void *context, const raptor_iostream_handler *handler);
Create a new iostream over a user-defined handler.
| context: | pointer to context information to pass in to calls | 
| handler: | pointer to handler methods | 
| Returns : | new raptor_iostream object or NULL on failure | 
raptor_iostream* raptor_new_iostream_to_sink (void);
Create a new iostream to a sink.
| Returns : | new raptor_iostream object or NULL on failure | 
raptor_iostream* raptor_new_iostream_to_filename (const char *filename);
Constructor - create a new iostream writing to a filename.
| filename: | Output filename to open and write to | 
| Returns : | new raptor_iostream object or NULL on failure | 
raptor_iostream* raptor_new_iostream_to_file_handle (FILE *handle);
Constructor - create a new iostream writing to a FILE*.
The handle must already be open for writing.
NOTE: This does not fclose the handle when it is finished.
| handle: | FILE* handle to write to | 
| Returns : | new raptor_iostream object or NULL on failure | 
raptor_iostream* raptor_new_iostream_to_string (void **string_p, size_t *length_p, void* (*malloc_handler) (size_t size));
Constructor - create a new iostream writing to a string.
If malloc_handler is null, raptor will allocate it using it's
own memory allocator.  *string_p is set to NULL on failure (and
*length_p to 0 if length_p is not NULL).
| string_p: | pointer to location to hold string | 
| length_p: | pointer to location to hold length of string (or NULL) | 
| malloc_handler: | pointer to malloc to use to make string (or NULL) | 
| Returns : | new raptor_iostream object or NULL on failure | 
void raptor_free_iostream (raptor_iostream *iostr);
Destructor - destroy an iostream.
| iostr: | iostream object | 
int raptor_iostream_write_bytes (raptor_iostream *iostr, const void *ptr, size_t size, size_t nmemb);
Write bytes to the iostream.
| iostr: | raptor iostream | 
| ptr: | start of objects to write | 
| size: | size of object | 
| nmemb: | number of objects | 
| Returns : | number of objects written or less than nmemb or 0 on failure | 
int raptor_iostream_write_byte (raptor_iostream *iostr, const int byte);
Write a byte to the iostream.
| iostr: | raptor iostream | 
| byte: | byte to write | 
| Returns : | non-0 on failure | 
void raptor_iostream_write_end (raptor_iostream *iostr);
End writing to the iostream.
| iostr: | raptor iostream | 
int raptor_iostream_write_string (raptor_iostream *iostr, const void *string);
Write a NULL-terminated string to the iostream.
| iostr: | raptor iostream | 
| string: | string | 
| Returns : | non-0 on failure | 
int         raptor_iostream_write_counted_string
                                            (raptor_iostream *iostr,
                                             const void *string,
                                             size_t len);
Write a counted string to the iostream.
| iostr: | raptor iostream | 
| string: | string | 
| len: | string length | 
| Returns : | non-0 on failure | 
size_t      raptor_iostream_get_bytes_written_count
                                            (raptor_iostream *iostr);
Get the number of bytes written to the iostream.
| iostr: | raptor iostream | 
| Returns : | number of bytes written or 0 if non written so far | 
int raptor_iostream_write_decimal (raptor_iostream *iostr, int integer);
Write an integer in decimal to the iostream.
| iostr: | raptor iostream | 
| integer: | integer to format as decimal | 
| Returns : | non-0 on failure | 
int         raptor_iostream_format_hexadecimal
                                            (raptor_iostream *iostr,
                                             unsigned int integer,
                                             int width);
Write an integer in hexadecimal to the iostream.
Always 0-fills the entire field and writes in uppercase A-F
| iostr: | raptor iostream | 
| integer: | unsigned integer to format as hexadecimal | 
| width: | field width | 
| Returns : | non-0 on failure | 
int         raptor_iostream_write_stringbuffer
                                            (raptor_iostream *iostr,
                                             raptor_stringbuffer *sb);
Write a stringbuffer to an iostream.
| iostr: | raptor iostream | 
| sb: | raptor_stringbuffer to write | 
| Returns : | non-0 on failure | 
int         raptor_iostream_write_string_ntriples
                                            (raptor_iostream *iostr,
                                             unsigned char *string,
                                             size_t len,
                                             const char delim);
Write an UTF-8 string using N-Triples escapes to an iostream.
| iostr: | raptor_iostream to write to | 
| string: | UTF-8 string to write | 
| len: | length of UTF-8 string | 
| delim: | Terminating delimiter character for string (such as " or >) or \0 for no escaping. | 
| Returns : | non-0 on failure such as bad UTF-8 encoding. | 
void        raptor_iostream_write_statement_ntriples
                                            (raptor_iostream *iostr,
                                             const raptor_statement *statement);
Write a raptor_statement formatted in N-Triples format to a raptor_iostream
| iostr: | raptor iosteram | 
| statement: | statement to write |