Main Page   Modules   Data Structures   File List   Data Fields   Globals   Related Pages  

lcas_db_read.c File Reference

the LCAS database reader. More...

#include <stdlib.h>
#include <malloc.h>
#include <stdio.h>
#include <string.h>
#include "lcas_log.h"
#include "_lcas_db_read.h"

Include dependency graph for lcas_db_read.c:

Include dependency graph

Go to the source code of this file.

Defines

#define MAXDBENTRIES   250
#define MAXPAIRS   2
#define WHITESPACE_CHARS   " \t\n"
#define QUOTING_CHARS   "\""
#define ESCAPING_CHARS   "\\"
#define COMMENT_CHARS   "#"
#define PAIR_SEP_CHARS   ","
#define VARVAL_SEP_CHARS   "="
#define PAIR_TERMINATOR_CHARS   PAIR_SEP_CHARS WHITESPACE_CHARS
#define VARVAL_TERMINATOR_CHARS   VARVAL_SEP_CHARS WHITESPACE_CHARS
#define NUL   '\0'

Functions

int lcas_db_read_entries (FILE *)
 Read db entries from stream and fill a lsit of db entries. More...

int lcas_db_parse_line (char *, lcas_db_entry_t **)
 Parses database line and fills database structure. More...

int lcas_db_parse_pair (char *, char **, char **)
 Parses a database variable-value pair and returns the variable name and its value. More...

int lcas_db_parse_string (char **)
 Takes a string and removes prepending and trailing spaces and quotes (unless escaped). More...


Variables

lcas_db_entry_tlcas_db_list = NULL


Detailed Description

the LCAS database reader.

Author:
Martijn Steenbakkers for the EU DataGrid.

Definition in file lcas_db_read.c.


Define Documentation

#define COMMENT_CHARS   "#"
 

For internal use only.

Definition at line 37 of file lcas_db_read.c.

#define ESCAPING_CHARS   "\\"
 

For internal use only.

Definition at line 36 of file lcas_db_read.c.

#define MAXDBENTRIES   250
 

maximum number of LCAS database entries

For internal use only.

Definition at line 30 of file lcas_db_read.c.

#define MAXPAIRS   2
 

maximum number of variable-value pairs that will be parsed per line

For internal use only.

Definition at line 31 of file lcas_db_read.c.

#define NUL   '\0'
 

For internal use only.

Definition at line 60 of file lcas_db_read.c.

#define PAIR_SEP_CHARS   ","
 

Characters separating variable-value pairs in the lcas database file

For internal use only.

Definition at line 40 of file lcas_db_read.c.

#define PAIR_TERMINATOR_CHARS   PAIR_SEP_CHARS WHITESPACE_CHARS
 

Characters that terminate pairs in the lcas database file. This is a combination of whitespace and separators.

For internal use only.

Definition at line 52 of file lcas_db_read.c.

#define QUOTING_CHARS   "\""
 

For internal use only.

Definition at line 35 of file lcas_db_read.c.

#define VARVAL_SEP_CHARS   "="
 

Characters separating variables from values

For internal use only.

Definition at line 42 of file lcas_db_read.c.

#define VARVAL_TERMINATOR_CHARS   VARVAL_SEP_CHARS WHITESPACE_CHARS
 

Characters that terminate variables and values in the lcas database file. This is a combination of whitespace and separators.

For internal use only.

Definition at line 57 of file lcas_db_read.c.

#define WHITESPACE_CHARS   " \t\n"
 

For internal use only.

Definition at line 34 of file lcas_db_read.c.


Function Documentation

int lcas_db_parse_line ( char * line,
lcas_db_entry_t ** entry ) [static]
 

Parses database line and fills database structure.

Parameters:
line   database line
entry   pointer to a pointer to a database structure (can/should be freed afterwards)
Return values:
1   succes.
0   failure.

For internal use only.

Definition at line 241 of file lcas_db_read.c.

Referenced by lcas_db_read_entries().

int lcas_db_parse_pair ( char * pair,
char ** pvar,
char ** pval ) [static]
 

Parses a database variable-value pair and returns the variable name and its value.

Parameters:
pair   string containing the pair
pvar   pointer to the variable string
pval   pointer to the value string
Return values:
1   succes.
0   failure.

For internal use only.

Definition at line 374 of file lcas_db_read.c.

Referenced by lcas_db_parse_line().

int lcas_db_parse_string ( char ** pstring ) [static]
 

Takes a string and removes prepending and trailing spaces and quotes (unless escaped).

Parameters:
pstring   pointer to a pointer to a char
Return values:
1   succes.
0   failure.

For internal use only.

Definition at line 471 of file lcas_db_read.c.

Referenced by lcas_db_parse_pair().

int lcas_db_read_entries ( FILE * dbstream ) [static]
 

Read db entries from stream and fill a lsit of db entries.

Parameters:
dbstream   database stream
Returns:
the number of entries found (failure --> negative number)

For internal use only.

Definition at line 123 of file lcas_db_read.c.

Referenced by lcas_db_read().


Variable Documentation

lcas_db_entry_t * lcas_db_list = NULL [static]
 

list of database entries

Definition at line 74 of file lcas_db_read.c.


Generated at Tue Sep 23 15:07:00 2003 for edg-lcas by doxygen1.2.8.1 written by Dimitri van Heesch, © 1997-2001