--- lmtp2nntp_val.h 2002/01/15 13:02:20 1.1
+++ lmtp2nntp_val.h 2002/01/16 09:46:52 1.2
@@ -1,31 +1,41 @@
+#ifndef __LMTP2NNTP_VAL_H__
+#define __LMTP2NNTP_VAL_H__
+
#include <stdarg.h>
enum {
- VAL_TYPE_PTR = 1<<0,
- VAL_TYPE_CHAR = 1<<1,
- VAL_TYPE_SHORT = 1<<2,
- VAL_TYPE_INT = 1<<3,
- VAL_TYPE_LONG = 1<<4,
- VAL_TYPE_FLOAT = 1<<5,
- VAL_TYPE_DOUBLE = 1<<6
+ VAL_TYPE_VAL = 1<<0,
+ VAL_TYPE_PTR = 1<<1,
+ VAL_TYPE_CHAR = 1<<2,
+ VAL_TYPE_SHORT = 1<<3,
+ VAL_TYPE_INT = 1<<4,
+ VAL_TYPE_LONG = 1<<5,
+ VAL_TYPE_FLOAT = 1<<6,
+ VAL_TYPE_DOUBLE = 1<<7
};
typedef enum {
VAL_OK,
- VAL_MEMORY,
- VAL_LH,
- VAL_UNKNOWN
+ VAL_ERR_ARG,
+ VAL_ERR_USE,
+ VAL_ERR_MEM,
+ VAL_ERR_SYS
} val_rc_t;
struct val_s;
typedef struct val_s val_t;
+typedef val_rc_t (*val_cb_t)(void *, const char *, int, const char *, void *);
+
val_rc_t val_create (val_t **);
val_rc_t val_destroy (val_t *);
-val_rc_t val_reg (val_t *, const char *, int, void *);
+val_rc_t val_reg (val_t *, const char *, int, const char *, void *);
val_rc_t val_set (val_t *, const char *, ...);
val_rc_t val_get (val_t *, const char *, ...);
val_rc_t val_vset (val_t *, const char *, va_list);
val_rc_t val_vget (val_t *, const char *, va_list);
+val_rc_t val_apply (val_t *, val_cb_t cb, void *ctx);
+
+#endif /* __LMTP2NNTP_VAL_H__ */
|