mirror of
				https://github.com/cookiengineer/audacity
				synced 2025-11-04 08:04:06 +01:00 
			
		
		
		
	
		
			
				
	
	
		
			95 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			95 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
/* -*- Mode: c; c-basic-offset: 2 -*-
 | 
						|
 *
 | 
						|
 * rdf_node_internal.h - Internal RDF Node definitions
 | 
						|
 *
 | 
						|
 * Copyright (C) 2000-2008, David Beckett http://www.dajobe.org/
 | 
						|
 * Copyright (C) 2000-2005, University of Bristol, UK http://www.bristol.ac.uk/
 | 
						|
 * 
 | 
						|
 * This package is Free Software and part of Redland http://librdf.org/
 | 
						|
 * 
 | 
						|
 * It is licensed under the following three licenses as alternatives:
 | 
						|
 *   1. GNU Lesser General Public License (LGPL) V2.1 or any newer version
 | 
						|
 *   2. GNU General Public License (GPL) V2 or any newer version
 | 
						|
 *   3. Apache License, V2.0 or any newer version
 | 
						|
 * 
 | 
						|
 * You may not use this file except in compliance with at least one of
 | 
						|
 * the above three licenses.
 | 
						|
 * 
 | 
						|
 * See LICENSE.html or LICENSE.txt at the top of this package for the
 | 
						|
 * complete terms and further detail along with the license texts for
 | 
						|
 * the licenses in COPYING.LIB, COPYING and LICENSE-2.0.txt respectively.
 | 
						|
 * 
 | 
						|
 * 
 | 
						|
 */
 | 
						|
 | 
						|
 | 
						|
 | 
						|
#ifndef LIBRDF_NODE_INTERNAL_H
 | 
						|
#define LIBRDF_NODE_INTERNAL_H
 | 
						|
 | 
						|
#ifdef __cplusplus
 | 
						|
extern "C" {
 | 
						|
#endif
 | 
						|
 | 
						|
struct librdf_node_s
 | 
						|
{
 | 
						|
  librdf_world *world;
 | 
						|
  librdf_node_type type;
 | 
						|
  int usage;
 | 
						|
  union 
 | 
						|
  {
 | 
						|
    struct
 | 
						|
    {
 | 
						|
      /* rdf:Resource and rdf:Property-s have URIs */
 | 
						|
      librdf_uri *uri;
 | 
						|
    } resource;
 | 
						|
    struct
 | 
						|
    {
 | 
						|
      /* literals are UTF-8 string values ... */
 | 
						|
      unsigned char *string;
 | 
						|
      /* up to 2^31-1 bytes long */
 | 
						|
      unsigned int string_len;
 | 
						|
 | 
						|
      /* datatype URI or null */
 | 
						|
      librdf_uri* datatype_uri;
 | 
						|
 | 
						|
      /* XML defines these additional attributes for literals */
 | 
						|
 | 
						|
      /* Language of literal (xml:lang) */
 | 
						|
      char *xml_language;
 | 
						|
      /* up to 255 bytes long */
 | 
						|
      unsigned char xml_language_len;
 | 
						|
 | 
						|
      /* Hash key & size */
 | 
						|
      unsigned char *key;
 | 
						|
      size_t size;
 | 
						|
    } literal;
 | 
						|
    struct 
 | 
						|
    {
 | 
						|
      /* blank nodes have an identifier */
 | 
						|
      unsigned char *identifier;
 | 
						|
      int identifier_len;
 | 
						|
    } blank;
 | 
						|
  } value;
 | 
						|
};
 | 
						|
 | 
						|
 | 
						|
/* initialising functions / constructors */
 | 
						|
 | 
						|
/* class methods */
 | 
						|
void librdf_init_node(librdf_world* world);
 | 
						|
void librdf_finish_node(librdf_world* world);
 | 
						|
 | 
						|
#ifdef LIBRDF_DEBUG
 | 
						|
const char* librdf_node_get_type_as_string(int type);
 | 
						|
#endif
 | 
						|
 | 
						|
/* exported public in error but never usable */
 | 
						|
librdf_digest* librdf_node_get_digest(librdf_node* node);
 | 
						|
 | 
						|
#ifdef __cplusplus
 | 
						|
}
 | 
						|
#endif
 | 
						|
 | 
						|
#endif
 |