| Top |
int
(*raptor_iostream_init_func) (void *context);
Handler function for raptor_iostream initialising.
void
(*raptor_iostream_finish_func) (void *context);
Handler function for raptor_iostream terminating.
int (*raptor_iostream_write_byte_func) (void *context,const int byte);
Handler function for implementing raptor_iostream_write_byte().
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().
int
(*raptor_iostream_write_end_func) (void *context);
Handler function for implementing raptor_iostream_write_end().
int (*raptor_iostream_read_bytes_func) (void *context,void *ptr,size_t size,size_t nmemb);
Handler function for implementing raptor_iostream_read_bytes().
int
(*raptor_iostream_read_eof_func) (void *context);
Handler function for implementing raptor_iostream_read_eof().
raptor_iostream * raptor_new_iostream_from_handler (raptor_world *world,void *user_data,const raptor_iostream_handler * const handler);
Create a new iostream over a user-defined handler
raptor_iostream *
raptor_new_iostream_from_sink (raptor_world *world);
Create a new read iostream from a sink, returning no data.
Provides an I/O source that returns end of input immediately on
reads, and throw away all writes. Same as
raptor_new_iostream_to_sink()
raptor_iostream * raptor_new_iostream_from_filename (raptor_world *world,const char *filename);
Constructor - create a new iostream reading from a filename.
raptor_iostream * raptor_new_iostream_from_file_handle (raptor_world *world,FILE *handle);
Constructor - create a new iostream reading from a file_handle.
The handle
must already be open for reading.
NOTE: This does not fclose the handle
when it is finished.
raptor_iostream * raptor_new_iostream_from_string (raptor_world *world,void *string,size_t length);
Constructor - create a new iostream reading from a string.
raptor_iostream *
raptor_new_iostream_to_sink (raptor_world *world);
Create a new write iostream to a sink, throwing away all data.
Provides an that throw away all writes and returns end of input
immediately on reads. Same as raptor_new_iostream_from_sink()
raptor_iostream * raptor_new_iostream_to_filename (raptor_world *world,const char *filename);
Constructor - create a new iostream writing to a filename.
raptor_iostream * raptor_new_iostream_to_file_handle (raptor_world *world,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.
raptor_iostream * raptor_new_iostream_to_string (raptor_world *world,void **string_p,size_t *length_p,raptor_data_malloc_handler const malloc_handler);
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).
void
raptor_free_iostream (raptor_iostream *iostr);
Destructor - destroy an iostream.
int raptor_iostream_hexadecimal_write (unsigned int integer,int width,raptor_iostream *iostr);
Write an integer in hexadecimal to the iostream.
Always 0-fills the entire field and writes in uppercase A-F
int raptor_iostream_read_bytes (void *ptr,size_t size,size_t nmemb,raptor_iostream *iostr);
Read bytes to the iostream.
int
raptor_iostream_read_eof (raptor_iostream *iostr);
Check if an read iostream has ended
unsigned long
raptor_iostream_tell (raptor_iostream *iostr);
Get the offset in the iostream.
int raptor_iostream_counted_string_write (const void *string,size_t len,raptor_iostream *iostr);
Write a counted string to the iostream.
int raptor_iostream_decimal_write (int integer,raptor_iostream *iostr);
Write an integer in decimal to the iostream.
int raptor_iostream_string_write (const void *string,raptor_iostream *iostr);
Write a NULL-terminated string to the iostream.
int raptor_iostream_write_byte (const int byte,raptor_iostream *iostr);
Write a byte to the iostream.
int raptor_iostream_write_bytes (const void *ptr,size_t size,size_t nmemb,raptor_iostream *iostr);
Write bytes to the iostream.
int
raptor_iostream_write_end (raptor_iostream *iostr);
End writing to the iostream.
int raptor_bnodeid_ntriples_write (const char *bnodeid,size_t len,raptor_iostream *iostr);
Write a blank node ID in a form legal for N-Triples with _: prefix
int raptor_string_escaped_write (const char *string,size_t len,const char delim,unsigned int flags,raptor_iostream *iostr);
Write a UTF-8 string formatted using different escapes to a raptor_iostream
Supports writing escapes in the Python, N-Triples, Turtle, JSON, mKR, SPARQL styles to an iostream.
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. |
|
flags |
bit flags - see raptor_escaped_write_bitflags |
|
iostr |
raptor_iostream to write to |
int raptor_term_escaped_write (const raptor_term *term,unsigned int flags,raptor_iostream *iostr);
Write a raptor_term formatted with escapes to a raptor_iostream
term |
term to write |
|
flags |
bit flags - see raptor_escaped_write_bitflags |
|
iostr |
raptor iostream |
int raptor_uri_escaped_write (raptor_uri *uri,raptor_uri *base_uri,unsigned int flags,raptor_iostream *iostr);
Write a raptor_uri formatted with escapes to a raptor_iostream
uri |
uri to write |
|
base_uri |
base uri to write relative to (or NULL) |
|
flags |
bit flags - see raptor_escaped_write_bitflags |
|
iostr |
raptor iostream |
int raptor_string_ntriples_write (const char *string,size_t len,const char delim,raptor_iostream *iostr);
Write an UTF-8 string using N-Triples escapes to an iostream.
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. |
|
iostr |
raptor_iostream to write to |
int raptor_string_python_write (const char *string,size_t len,const char delim,unsigned int mode,raptor_iostream *iostr);
raptor_string_python_write is deprecated and should not be used in newly-written code.
Write a UTF-8 string using Python-style escapes (N-Triples, Turtle, JSON, mKR) to a raptor_iostream
Deprecated
: use raptor_string_escaped_write() where the features
requested are bits that can be individually chosen.
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. |
|
mode |
mode 0=N-Triples mode, 1=Turtle (allow raw UTF-8), 2=Turtle long string (allow raw UTF-8), 3=JSON |
|
iostr |
raptor_iostream to write to |
typedef struct {
int version;
/* V1 functions */
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;
/* V2 functions */
raptor_iostream_read_bytes_func read_bytes;
raptor_iostream_read_eof_func read_eof;
} raptor_iostream_handler;
I/O stream implementation handler structure.
interface version. Presently 1 or 2. |
||
initialisation handler - optional, called at most once (V1) |
||
raptor_iostream_finish_func |
finishing handler - optional, called at most once (V1) |
|
raptor_iostream_write_byte_func |
write byte handler - required (for writing) (V1) |
|
raptor_iostream_write_bytes_func |
write bytes handler - required (for writing) (V1) |
|
raptor_iostream_write_end_func |
write end handler - optional (for writing), called at most once (V1) |
|
raptor_iostream_read_bytes_func |
read bytes handler - required (for reading) (V2) |
|
raptor_iostream_read_eof_func |
read EOF handler - required (for reading) (V2) |
Bit flags for raptor_string_escaped_write() and friends.
|
Allow \b \f, |
||
|
Allow \t \n \r \u \U |
||
|
Use UTF-8 instead of \u \U for U+0080 or larger (will always use \u for U+0000..U+001F and U+007F) |
||
|
Must escape x00-x20<>\"{}|^` in URIs |
||
|
N-Triples literal |
||
|
N-Triples URI |
||
|
SPARQL literal: allows raw UTF8 for printable literals |
||
|
SPARQL long literal: no BS-escapes allowed |
||
|
SPARQL uri: have to escape certain characters |
||
|
Turtle 2013 URIs (like SPARQL) |
||
|
Turtle 2013 literals (like SPARQL) |
||
|
Turtle 2013 long literals (like SPARQL) |
||
|
JSON literals: UTF-8 plus \b \f \t \r \n, \uXXXX only, no \U |