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:
-
void nvpair_parse |
( |
struct nvpair * |
n, |
|
|
const char * |
text | |
|
) |
| | |
Load in an nvpair from ASCII text.
- Parameters:
-
int nvpair_parse_stream |
( |
struct nvpair * |
n, |
|
|
FILE * |
stream | |
|
) |
| | |
Load in an nvpair from a standard I/O stream.
- Parameters:
-
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. |