nvpair.h File Reference

An nvpair object is a collection of name-value pairs that might describe a complex object such as a host or a job. More...

#include <stdio.h>
#include "int_sizes.h"

Go to the source code of this file.

Data Structures

struct  nvpair_header

Functions

struct nvpair * nvpair_create ()
 Create an empty nvpair.
void nvpair_delete (struct nvpair *n)
 Delete an nvpair.
void nvpair_parse (struct nvpair *n, const char *text)
 Load in an nvpair from ASCII text.
int nvpair_parse_stream (struct nvpair *n, FILE *stream)
 Load in an nvpair from a standard I/O stream.
int nvpair_print (struct nvpair *n, char *text, int length)
 Print an nvpair to ASCII text with a limit.
int nvpair_print_alloc (struct nvpair *n, char **text)
 Print an nvpair to ASCII text, allocating the needed buffer.
void nvpair_insert_string (struct nvpair *n, const char *name, const char *value)
 Insert a property in string form.
void nvpair_insert_integer (struct nvpair *n, const char *name, INT64_T value)
 Insert a property in integer form.
const char * nvpair_lookup_string (struct nvpair *n, const char *name)
 Lookup a property in string form.
INT64_T nvpair_lookup_integer (struct nvpair *n, const char *name)
 Lookup a property in integer form.
void nvpair_print_text (struct nvpair *n, FILE *stream)
 Print an entire nvpair in text form.
void nvpair_print_xml (struct nvpair *n, FILE *stream)
 Print an entire nvpair in XML form.
void nvpair_print_new_classads (struct nvpair *n, FILE *stream)
 Print an entire nvpair in new ClassAd form.
void nvpair_print_old_classads (struct nvpair *n, FILE *stream)
 Print an entire nvpair in old ClassAd form.
void nvpair_print_html_solo (struct nvpair *n, FILE *stream)
 Print an entire nvpair in HTML form.

Detailed Description

An nvpair object is a collection of name-value pairs that might describe a complex object such as a host or a job.

An nvpair object is a subset of the full generality of an XML document or a ClassAd. In fact, and nvpair can easily be exported into these and other formats. We use an nvapir object instead of these other database, because it has a dramatically simpler implementation that these other complex datatypes and removes any dependence on external software.


Function Documentation

struct nvpair* nvpair_create (  )  [read]

Create an empty nvpair.

Returns:
A pointer to an nvpair.
void nvpair_delete ( struct nvpair *  n  ) 

Delete an nvpair.

Also deletes all contained names and values.

Parameters:
n The nvpair to delete.
void nvpair_parse ( struct nvpair *  n,
const char *  text 
)

Load in an nvpair from ASCII text.

Parameters:
n An nvpair from nvpair_create.
text The ASCII text to parse.
int nvpair_parse_stream ( struct nvpair *  n,
FILE *  stream 
)

Load in an nvpair from a standard I/O stream.

Parameters:
n An nvpair from nvpair_create.
stream The I/O stream to read.
int nvpair_print ( struct nvpair *  n,
char *  text,
int  length 
)

Print an nvpair to ASCII text with a limit.

Parameters:
n The npvair to print.
text The buffer to print to.
length The length of the buffer in bytes.
Returns:
The actual length of buffer needed, in bytes.
int nvpair_print_alloc ( struct nvpair *  n,
char **  text 
)

Print an nvpair to ASCII text, allocating the needed buffer.

Parameters:
n The npvair to print.
text A pointer to a buffer pointer that will be allocated to the needed size.
Returns:
The actual number of bytes written.
void nvpair_insert_string ( struct nvpair *  n,
const char *  name,
const char *  value 
)

Insert a property in string form.

Parameters:
n The nvpair to modify.
name The name of the property to insert.
value The value of the property to insert.
void nvpair_insert_integer ( struct nvpair *  n,
const char *  name,
INT64_T  value 
)

Insert a property in integer form.

Parameters:
n The nvpair to modify.
name The name of the property to insert.
value The value of the property to insert.
const char* nvpair_lookup_string ( struct nvpair *  n,
const char *  name 
)

Lookup a property in string form.

Parameters:
n The nvpair to examine.
name The name of the property to return.
Returns:
A pointer to the property string, if present, otherwise null.
INT64_T nvpair_lookup_integer ( struct nvpair *  n,
const char *  name 
)

Lookup a property in integer form.

Parameters:
n The nvpair to examine.
name The name of the property to return.
Returns:
The integer value of the property, or zero if not present or not an integer.
void nvpair_print_text ( struct nvpair *  n,
FILE *  stream 
)

Print an entire nvpair in text form.

Parameters:
n The nvpair to print.
stream The stream on which to print.
void nvpair_print_xml ( struct nvpair *  n,
FILE *  stream 
)

Print an entire nvpair in XML form.

Parameters:
n The nvpair to print.
stream The stream on which to print.
void nvpair_print_new_classads ( struct nvpair *  n,
FILE *  stream 
)

Print an entire nvpair in new ClassAd form.

Parameters:
n The nvpair to print.
stream The stream on which to print.
void nvpair_print_old_classads ( struct nvpair *  n,
FILE *  stream 
)

Print an entire nvpair in old ClassAd form.

Parameters:
n The nvpair to print.
stream The stream on which to print.
void nvpair_print_html_solo ( struct nvpair *  n,
FILE *  stream 
)

Print an entire nvpair in HTML form.

Parameters:
n The nvpair to print.
stream The stream on which to print.
Generated on Sun Aug 14 20:55:54 2011 for cctools by  doxygen 1.6.3