General

General — General library constants and utility functions

Synopsis

#define             RAPTOR_VERSION
#define             RAPTOR_VERSION_MAJOR
#define             RAPTOR_VERSION_MINOR
#define             RAPTOR_VERSION_RELEASE
#define             RAPTOR_VERSION_STRING
extern const unsigned int raptor_version_major;
extern const unsigned int raptor_version_minor;
extern const unsigned int raptor_version_release;
extern const unsigned int raptor_version_decimal;
extern const char * const raptor_copyright_string;
extern const char * const raptor_home_url_string;
extern const char * const raptor_license_string;
extern const char * const raptor_short_copyright_string;
extern const char * const raptor_version_string;
extern const unsigned char * const raptor_owl_namespace_uri;
extern const unsigned char * const raptor_rdf_namespace_uri;
extern const unsigned char * const raptor_rdf_schema_namespace_uri;
extern const unsigned char * const raptor_xml_literal_datatype_uri_string;
extern const unsigned char * const raptor_xml_namespace_uri;
extern const unsigned char * const raptor_xmlschema_datatypes_namespace_uri;
void                (*raptor_statement_handler)         (void *user_data,
                                                         raptor_statement *statement);
int                 raptor_snprintf                     (char *buffer,
                                                         size_t size,
                                                         const char *format,
                                                         ...);
int                 raptor_vasprintf                    (char **ret,
                                                         const char *format,
                                                         va_list arguments);
char *              raptor_vsnprintf                    (const char *format,
                                                         va_list arguments);
int                 raptor_vsnprintf2                   (char *buffer,
                                                         size_t size,
                                                         const char *format,
                                                         va_list arguments);
void                (*raptor_log_handler)               (void *user_data,
                                                         raptor_log_message *message);
                    raptor_log_message;
enum                raptor_log_level;
const char *        raptor_log_level_get_label          (raptor_log_level level);
enum                raptor_domain;
const char *        raptor_domain_get_label             (raptor_domain domain);
int                 (*raptor_data_compare_handler)      (const void *data1,
                                                         const void *data2);
void                (*raptor_data_context_free_handler) (void *context,
                                                         void *object);
int                 (*raptor_data_context_print_handler)
                                                        (void *context,
                                                         void *object,
                                                         FILE *fh);
void                (*raptor_data_free_handler)         (void *data);
void *              (*raptor_data_malloc_handler)       (size_t size);
int                 (*raptor_data_print_handler)        (void *object,
                                                         FILE *fh);
enum                raptor_syntax_bitflags;
                    raptor_syntax_description;
int                 raptor_syntax_description_validate  (raptor_syntax_description *desc);
                    raptor_type_q;

Description

How to get access to version numbers, set message and error handlers, list the parsed and serialized syntaxes provided in the library and various other utility functions.

Details

RAPTOR_VERSION

#define RAPTOR_VERSION 20014

Raptor library version number

Format: major * 10000 + minor * 100 + release


RAPTOR_VERSION_MAJOR

#define RAPTOR_VERSION_MAJOR 2

Raptor library major version


RAPTOR_VERSION_MINOR

#define RAPTOR_VERSION_MINOR 0

Raptor library minor version


RAPTOR_VERSION_RELEASE

#define RAPTOR_VERSION_RELEASE 14

Raptor library release


RAPTOR_VERSION_STRING

#define RAPTOR_VERSION_STRING "2.0.14"

Raptor library version string


raptor_version_major

extern const unsigned int raptor_version_major;

Raptor major version number.


raptor_version_minor

extern const unsigned int raptor_version_minor;

Raptor minor version number.


raptor_version_release

extern const unsigned int raptor_version_release;

Raptor release version number.


raptor_version_decimal

extern const unsigned int raptor_version_decimal;

Raptor version as a decimal number.

Format: major * 10000 + minor * 100 + release


raptor_copyright_string

extern const char * const raptor_copyright_string;

Copyright string (multiple lines).


raptor_home_url_string

extern const char * const raptor_home_url_string;

Raptor home page URL.


raptor_license_string

extern const char * const raptor_license_string;

Raptor license string.


raptor_short_copyright_string

extern const char * const raptor_short_copyright_string;

Short copyright string (one line).


raptor_version_string

extern const char * const raptor_version_string;

Raptor version as a string.


raptor_owl_namespace_uri

extern const unsigned char * const raptor_owl_namespace_uri;

OWL (owl:) Namespace URI string.


raptor_rdf_namespace_uri

extern const unsigned char * const raptor_rdf_namespace_uri;

RDF Namespace (rdf:) URI string.


raptor_rdf_schema_namespace_uri

extern const unsigned char * const raptor_rdf_schema_namespace_uri;

RDF Schema (rdfs:) Namespace URI string.


raptor_xml_literal_datatype_uri_string

extern const unsigned char * const raptor_xml_literal_datatype_uri_string;

XML Literal datatype (rdf:XMLLiteral) URI string.


raptor_xml_namespace_uri

extern const unsigned char * const raptor_xml_namespace_uri;

XML Namespace (xml:) URI string.


raptor_xmlschema_datatypes_namespace_uri

extern const unsigned char * const raptor_xmlschema_datatypes_namespace_uri;

XML Schema datatypes (xsd:) namespace URI string.


raptor_statement_handler ()

void                (*raptor_statement_handler)         (void *user_data,
                                                         raptor_statement *statement);

Statement (triple) reporting handler function.

This handler function set with raptor_parser_set_statement_handler() on a parser receives statements as the parsing proceeds. The statement argument to the handler is shared and must be copied by the caller with raptor_statement_copy().

user_data :

user data

statement :

statement to report

raptor_snprintf ()

int                 raptor_snprintf                     (char *buffer,
                                                         size_t size,
                                                         const char *format,
                                                         ...);

Format output into an allocated sized buffer

This provides a portable version snprintf() over variants on different systems.

If buffer is NULL, calculates the number of bytes needed to allocate for buffer and do no formatting.

buffer :

buffer (or NULL)

size :

bufer size (or 0)

format :

printf-style format string

... :

format arguments

Returns :

number of bytes allocated (excluding NUL) or 0 on failure

raptor_vasprintf ()

int                 raptor_vasprintf                    (char **ret,
                                                         const char *format,
                                                         va_list arguments);

Format output into a new buffer and return it

This is a wrapper around the (GNU) vasprintf function that is not always avaiable.

ret :

pointer to store buffer

format :

printf-style format string

arguments :

format arguments list

Returns :

number of bytes allocated (excluding NUL) or < 0 on failure

raptor_vsnprintf ()

char *              raptor_vsnprintf                    (const char *format,
                                                         va_list arguments);

Format output for a variable arguments list into a newly allocated buffer

Deprecated: This does not actually conform to vsnprintf's calling convention and does not return the allocated buffer length. Use raptor_vsnprintf2() or raptor_vasprintf() instead.

format :

printf-style format string

arguments :

variable arguments list

Returns :

a newly allocated string as the formatted result or NULL on failure

raptor_vsnprintf2 ()

int                 raptor_vsnprintf2                   (char *buffer,
                                                         size_t size,
                                                         const char *format,
                                                         va_list arguments);

Format output for a variable arguments list into an allocated sized buffer.

This is a wrapper around system versions of vsnprintf with different call and return conventions.

If buffer is NULL or size is 0 or the buffer size is too small, returns the number of bytes that would be needed for buffer

buffer :

buffer (or NULL)

size :

size of buffer (or 0)

format :

printf-style format string

arguments :

variable arguments list

Returns :

number of bytes allocated (excluding NUL) or <0 on failure

raptor_log_handler ()

void                (*raptor_log_handler)               (void *user_data,
                                                         raptor_log_message *message);

Handler function for log messages with location

Used during parsing and serializing for errors and warnings that may include location information. Handlers may be set by raptor_world_set_log_handler().

user_data :

user data

message :

log message

raptor_log_message

typedef struct {
  int code;
  raptor_domain domain;
  raptor_log_level level;
  raptor_locator *locator;
  const char *text;
} raptor_log_message;

Log message.

int code;

error code or < 0 if not used or known

raptor_domain domain;

message domain or RAPTOR_DOMAIN_NONE if not used or known

raptor_log_level level;

log message level

raptor_locator *locator;

location associated with message or NULL if not known

const char *text;

message string

enum raptor_log_level

typedef enum {
  RAPTOR_LOG_LEVEL_NONE,
  RAPTOR_LOG_LEVEL_TRACE,
  RAPTOR_LOG_LEVEL_DEBUG,
  RAPTOR_LOG_LEVEL_INFO,
  RAPTOR_LOG_LEVEL_WARN,
  RAPTOR_LOG_LEVEL_ERROR,
  RAPTOR_LOG_LEVEL_FATAL,
  RAPTOR_LOG_LEVEL_LAST = RAPTOR_LOG_LEVEL_FATAL
} raptor_log_level;

Log levels

RAPTOR_LOG_LEVEL_NONE

Internal

RAPTOR_LOG_LEVEL_TRACE

very fine-grained tracing messages information

RAPTOR_LOG_LEVEL_DEBUG

fine-grained tracing messages suitable for debugging

RAPTOR_LOG_LEVEL_INFO

coarse-grained information messages

RAPTOR_LOG_LEVEL_WARN

warning messages of potentially harmful problems

RAPTOR_LOG_LEVEL_ERROR

error messages where the application can continue

RAPTOR_LOG_LEVEL_FATAL

fatal error message where the application will likely abort

RAPTOR_LOG_LEVEL_LAST

Internal

raptor_log_level_get_label ()

const char *        raptor_log_level_get_label          (raptor_log_level level);

Get label for a log message level

level :

log message level

Returns :

label string or NULL if level is not valid

enum raptor_domain

typedef enum {
  RAPTOR_DOMAIN_NONE,
  RAPTOR_DOMAIN_IOSTREAM,
  RAPTOR_DOMAIN_NAMESPACE,
  RAPTOR_DOMAIN_PARSER,
  RAPTOR_DOMAIN_QNAME,
  RAPTOR_DOMAIN_SAX2,
  RAPTOR_DOMAIN_SERIALIZER,
  RAPTOR_DOMAIN_TERM,
  RAPTOR_DOMAIN_TURTLE_WRITER,
  RAPTOR_DOMAIN_URI,
  RAPTOR_DOMAIN_WORLD,
  RAPTOR_DOMAIN_WWW,
  RAPTOR_DOMAIN_XML_WRITER,
  RAPTOR_DOMAIN_LAST = RAPTOR_DOMAIN_XML_WRITER
} raptor_domain;

Log domain

RAPTOR_DOMAIN_NONE

Internal

RAPTOR_DOMAIN_IOSTREAM

I/O stream

RAPTOR_DOMAIN_NAMESPACE

XML Namespace / namespace stack

RAPTOR_DOMAIN_PARSER

RDF Parser

RAPTOR_DOMAIN_QNAME

XML QName

RAPTOR_DOMAIN_SAX2

XML SAX2

RAPTOR_DOMAIN_SERIALIZER

RDF Serializer

RAPTOR_DOMAIN_TERM

RDF Term

RAPTOR_DOMAIN_TURTLE_WRITER

Turtle Writer

RAPTOR_DOMAIN_URI

RDF Uri

RAPTOR_DOMAIN_WORLD

RDF world

RAPTOR_DOMAIN_WWW

WWW

RAPTOR_DOMAIN_XML_WRITER

XML Writer

RAPTOR_DOMAIN_LAST

Internal

raptor_domain_get_label ()

const char *        raptor_domain_get_label             (raptor_domain domain);

Get label for a domain

domain :

domain

Returns :

label string or NULL if domain is not valid

raptor_data_compare_handler ()

int                 (*raptor_data_compare_handler)      (const void *data1,
                                                         const void *data2);

Function to compare two data objects - signature like strcmp() and function pssed to qsort()

Designed to be passed into generic data structure constructors like raptor_new_avltree().

data1 :

first data object

data2 :

second data object

Returns :

compare value <0 if data1 is before data2, =0 if equal, >0 if data1 is after data2

raptor_data_context_free_handler ()

void                (*raptor_data_context_free_handler) (void *context,
                                                         void *object);

Handler function for freeing a sequence item with a contextual pointer.

Set by raptor_new_sequence_with_context().

context :

context data for the free function

object :

object to free

raptor_data_context_print_handler ()

int                 (*raptor_data_context_print_handler)
                                                        (void *context,
                                                         void *object,
                                                         FILE *fh);

Function function for printing an object with data context to a stream.

Set by raptor_new_sequence_with_context()

context :

context data for the print function

object :

object to print

fh :

FILE* to print to

Returns :

non-0 on failure

raptor_data_free_handler ()

void                (*raptor_data_free_handler)         (void *data);

Typedef for function to free a data object - signature like free()

Designed to be passed into generic data structure constructors like raptor_new_avltree(). If data is NULL, nothing should be done.

data :

data object or NULL

raptor_data_malloc_handler ()

void *              (*raptor_data_malloc_handler)       (size_t size);

Typedef for a function to allocate memory - signature like malloc()

Designed to be passed into constructors like raptor_www_fetch_to_string

size :

data size

Returns :

pointer to newly allocated memory or NULL on failure

raptor_data_print_handler ()

int                 (*raptor_data_print_handler)        (void *object,
                                                         FILE *fh);

Handler function for printing an object to a stream.

Set by raptor_new_sequence()

object :

object to print

fh :

FILE* to print to

Returns :

non-0 on failure

enum raptor_syntax_bitflags

typedef enum {
  RAPTOR_SYNTAX_NEED_BASE_URI = 1
} raptor_syntax_bitflags;

Bit flags for raptor_syntax_description flags field

RAPTOR_SYNTAX_NEED_BASE_URI

the syntax requires a base URI

raptor_syntax_description

typedef struct {
  const char* names;
  unsigned int names_count;

  const char* label;

  const raptor_type_q* mime_types;
  unsigned int mime_types_count;

  const char* uri_strings;
  unsigned int uri_strings_count;

  unsigned int flags;
} raptor_syntax_description;

Description of a syntax or file format.

const char *names;

array of syntax names - the first one (required) is the public name, the rest are aliases. The array is NULL terminated.

unsigned int names_count;

size of names array

const char *label;

long descriptive label for syntax

const raptor_type_q *mime_types;

Array of (MIME type, Q) values associated with the syntax (or NULL). If present the array is NULL terminated.

unsigned int mime_types_count;

size of mime_types array

const char *uri_strings;

array of URIs identifying the syntax (or NULL). The first one if present is the main URI, the rest are aliases. The array is NULL terminated.

unsigned int uri_strings_count;

size of uri_strings array

unsigned int flags;

See raptor_syntax_bitflags for the bits

raptor_syntax_description_validate ()

int                 raptor_syntax_description_validate  (raptor_syntax_description *desc);

Validate a syntax description has the required fields (name, labels) and update counts

desc :

description

Returns :

non-0 on failure

raptor_type_q

typedef struct {
  const char* mime_type;
  size_t mime_type_len;
  unsigned char q;
} raptor_type_q;

(MIME Type, Q) pair

const char *mime_type;

MIME type string

size_t mime_type_len;

length of mime_type

unsigned char q;

Q value 0-10 standing for decimal 0.0-1.0