File: keyvals.h

package info (click to toggle)
osm2pgsql 0.69%2Br20104-2
  • links: PTS, VCS
  • area: main
  • in suites: squeeze
  • size: 61,864 kB
  • ctags: 1,421
  • sloc: sql: 98,888; ansic: 6,609; php: 2,452; sh: 580; cpp: 527; makefile: 138
file content (32 lines) | stat: -rw-r--r-- 1,012 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
/* Common key-value list processing
 *
 * Used as a small general purpose store for 
 * tags, segment lists etc 
 *
 */

#ifndef KEYVAL_H
#define KEYVAL_H

struct keyval {
    char *key;
    char *value;
    struct keyval *next;
    struct keyval *prev;
};

void initList(struct keyval *head);
void freeItem(struct keyval *p);
unsigned int countList(struct keyval *head);
int listHasData(struct keyval *head);
char *getItem(struct keyval *head, const char *name);
struct keyval *firstItem(struct keyval *head);
struct keyval *nextItem(struct keyval *head, struct keyval *item);
struct keyval *popItem(struct keyval *head);
void pushItem(struct keyval *head, struct keyval *item);
int addItem(struct keyval *head, const char *name, const char *value, int noDupe);
void resetList(struct keyval *head);
struct keyval *getMatches(struct keyval *head, const char *name);
void updateItem(struct keyval *head, const char *name, const char *value);
void cloneList( struct keyval *target, struct keyval *source );
#endif