I/O Stream

I/O Stream — Providing streaming I/O writing to files, strings or user code.

Functions

Types and Values

Description

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.

Functions

raptor_iostream_init_func ()

int
(*raptor_iostream_init_func) (void *context);

Handler function for raptor_iostream initialising.

Parameters

context

stream context data

 

Returns

non-0 on failure.


raptor_iostream_finish_func ()

void
(*raptor_iostream_finish_func) (void *context);

Handler function for raptor_iostream terminating.

Parameters

context

stream context data

 

raptor_iostream_write_byte_func ()

int
(*raptor_iostream_write_byte_func) (void *context,
                                    const int byte);

Handler function for implementing raptor_iostream_write_byte().

Parameters

context

stream context data

 

byte

byte to write

 

Returns

non-0 on failure.


raptor_iostream_write_bytes_func ()

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().

Parameters

context

stream context data

 

ptr

pointer to bytes to write

 

size

size of item

 

nmemb

number of items

 

Returns

non-0 on failure.


raptor_iostream_write_end_func ()

int
(*raptor_iostream_write_end_func) (void *context);

Handler function for implementing raptor_iostream_write_end().

Parameters

context

stream context data

 

Returns

non-0 on failure.


raptor_iostream_read_bytes_func ()

int
(*raptor_iostream_read_bytes_func) (void *context,
                                    void *ptr,
                                    size_t size,
                                    size_t nmemb);

Handler function for implementing raptor_iostream_read_bytes().

Parameters

context

stream context data

 

ptr

pointer to buffer to read into

 

size

size of buffer

 

nmemb

number of items

 

Returns

number of items read, 0 or < size on EOF, <0 on failure


raptor_iostream_read_eof_func ()

int
(*raptor_iostream_read_eof_func) (void *context);

Handler function for implementing raptor_iostream_read_eof().

Parameters

context

stream context data

 

Returns

non-0 if EOF


raptor_new_iostream_from_handler ()

raptor_iostream *
raptor_new_iostream_from_handler (raptor_world *world,
                                  void *user_data,
                                  const raptor_iostream_handler * const handler);

Returns


raptor_new_iostream_from_sink ()

raptor_iostream *
raptor_new_iostream_from_sink (raptor_world *world);

Returns


raptor_new_iostream_from_filename ()

raptor_iostream *
raptor_new_iostream_from_filename (raptor_world *world,
                                   const char *filename);

Returns


raptor_new_iostream_from_file_handle ()

raptor_iostream *
raptor_new_iostream_from_file_handle (raptor_world *world,
                                      FILE *handle);

Returns


raptor_new_iostream_from_string ()

raptor_iostream *
raptor_new_iostream_from_string (raptor_world *world,
                                 void *string,
                                 size_t length);

Returns


raptor_new_iostream_to_sink ()

raptor_iostream *
raptor_new_iostream_to_sink (raptor_world *world);

Returns


raptor_new_iostream_to_filename ()

raptor_iostream *
raptor_new_iostream_to_filename (raptor_world *world,
                                 const char *filename);

Returns


raptor_new_iostream_to_file_handle ()

raptor_iostream *
raptor_new_iostream_to_file_handle (raptor_world *world,
                                    FILE *handle);

Returns


raptor_new_iostream_to_string ()

raptor_iostream *
raptor_new_iostream_to_string (raptor_world *world,
                               void **string_p,
                               size_t *length_p,
                               raptor_data_malloc_handler const malloc_handler);

Returns


raptor_free_iostream ()

void
raptor_free_iostream (raptor_iostream *iostr);


raptor_iostream_hexadecimal_write ()

int
raptor_iostream_hexadecimal_write (unsigned int integer,
                                   int width,
                                   raptor_iostream *iostr);

Returns


raptor_iostream_read_bytes ()

int
raptor_iostream_read_bytes (void *ptr,
                            size_t size,
                            size_t nmemb,
                            raptor_iostream *iostr);

Returns


raptor_iostream_read_eof ()

int
raptor_iostream_read_eof (raptor_iostream *iostr);

Returns


raptor_iostream_tell ()

unsigned long
raptor_iostream_tell (raptor_iostream *iostr);

Returns


raptor_iostream_counted_string_write ()

int
raptor_iostream_counted_string_write (const void *string,
                                      size_t len,
                                      raptor_iostream *iostr);

Returns


raptor_iostream_decimal_write ()

int
raptor_iostream_decimal_write (int integer,
                               raptor_iostream *iostr);

Returns


raptor_iostream_string_write ()

int
raptor_iostream_string_write (const void *string,
                              raptor_iostream *iostr);

Returns


raptor_iostream_write_byte ()

int
raptor_iostream_write_byte (const int byte,
                            raptor_iostream *iostr);

Returns


raptor_iostream_write_bytes ()

int
raptor_iostream_write_bytes (const void *ptr,
                             size_t size,
                             size_t nmemb,
                             raptor_iostream *iostr);

Returns


raptor_iostream_write_end ()

int
raptor_iostream_write_end (raptor_iostream *iostr);

Returns


raptor_bnodeid_ntriples_write ()

int
raptor_bnodeid_ntriples_write (const unsigned char *bnodeid,
                               size_t len,
                               raptor_iostream *iostr);

Returns


raptor_string_escaped_write ()

int
raptor_string_escaped_write (const unsigned char *string,
                             size_t len,
                             const char delim,
                             unsigned int flags,
                             raptor_iostream *iostr);

Returns


raptor_term_escaped_write ()

int
raptor_term_escaped_write (const raptor_term *term,
                           unsigned int flags,
                           raptor_iostream *iostr);

Returns


raptor_uri_escaped_write ()

int
raptor_uri_escaped_write (raptor_uri *uri,
                          raptor_uri *base_uri,
                          unsigned int flags,
                          raptor_iostream *iostr);

Returns


raptor_string_ntriples_write ()

int
raptor_string_ntriples_write (const unsigned char *string,
                              size_t len,
                              const char delim,
                              raptor_iostream *iostr);

Returns


raptor_string_python_write ()

int
raptor_string_python_write (const unsigned 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.

Returns

Types and Values

raptor_iostream

raptor_iostream* raptor_iostream;

Raptor I/O Stream class


raptor_iostream_handler

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.

Members

int version;

interface version. Presently 1 or 2.

 

raptor_iostream_init_func init;

initialisation handler - optional, called at most once (V1)

 

raptor_iostream_finish_func finish;

finishing handler - optional, called at most once (V1)

 

raptor_iostream_write_byte_func write_byte;

write byte handler - required (for writing) (V1)

 

raptor_iostream_write_bytes_func write_bytes;

write bytes handler - required (for writing) (V1)

 

raptor_iostream_write_end_func write_end;

write end handler - optional (for writing), called at most once (V1)

 

raptor_iostream_read_bytes_func read_bytes;

read bytes handler - required (for reading) (V2)

 

raptor_iostream_read_eof_func read_eof;

read EOF handler - required (for reading) (V2)

 

enum raptor_escaped_write_bitflags

Bit flags for raptor_string_escaped_write() and friends.

Members

RAPTOR_ESCAPED_WRITE_BITFLAG_BS_ESCAPES_BF

Allow \b \f,

 

RAPTOR_ESCAPED_WRITE_BITFLAG_BS_ESCAPES_TNRU

ALlow \t \n \r \u

 

RAPTOR_ESCAPED_WRITE_BITFLAG_UTF8

Allow UTF-8 for printable U *

 

RAPTOR_ESCAPED_WRITE_BITFLAG_SPARQL_URI_ESCAPES

Must escape x00-x20<>\"{}|^` in URIs

 

RAPTOR_ESCAPED_WRITE_NTRIPLES_LITERAL

N-Triples literal

 

RAPTOR_ESCAPED_WRITE_NTRIPLES_URI

N-Triples URI

 

RAPTOR_ESCAPED_WRITE_SPARQL_LITERAL

SPARQL literal: allows raw UTF8 for printable literals

 

RAPTOR_ESCAPED_WRITE_SPARQL_LONG_LITERAL

SPARQL long literal: no BS-escapes allowed

 

RAPTOR_ESCAPED_WRITE_SPARQL_URI

SPARQL uri: have to escape certain characters

 

RAPTOR_ESCAPED_WRITE_TURTLE_URI

Turtle 2013 URIs (like SPARQL)

 

RAPTOR_ESCAPED_WRITE_TURTLE_LITERAL

Turtle 2013 literals (like SPARQL)

 

RAPTOR_ESCAPED_WRITE_TURTLE_LONG_LITERAL

Turtle 2013 long literals (like SPARQL)

 

RAPTOR_ESCAPED_WRITE_JSON_LITERAL

JSON literals: \b \f \t \r \n and \u \U