summary refs log tree commit diff
path: root/misc/benc.h
diff options
context:
space:
mode:
authorRichard Nyberg <rnyberg@murmeldjur.se>2006-02-05 17:08:39 +0000
committerRichard Nyberg <rnyberg@murmeldjur.se>2006-02-05 17:08:39 +0000
commit01c92051d5eda1c5fe44c7a84766afbd6774ff24 (patch)
treefcf31e1029b3e0590393ca32ed03a21d0df262e9 /misc/benc.h
parent6559fcb9a42e241979e845bb574bdf3b38e03b90 (diff)
downloadbtpd-01c92051d5eda1c5fe44c7a84766afbd6774ff24.tar.gz
btpd-01c92051d5eda1c5fe44c7a84766afbd6774ff24.zip
o Changed the benc_ api to make it easier to use.
o Lot of work on the cli and its communication with btpd.

Diffstat (limited to 'misc/benc.h')
-rw-r--r--misc/benc.h50
1 files changed, 26 insertions, 24 deletions
diff --git a/misc/benc.h b/misc/benc.h
index 8088190..69c5f57 100644
--- a/misc/benc.h
+++ b/misc/benc.h
@@ -1,7 +1,21 @@
 #ifndef BTPD_BENC_H
 #define BTPD_BENC_H
 
+enum be_type {
+    BE_ANY,
+    BE_DCT,
+    BE_INT,
+    BE_LST,
+    BE_STR
+};
+
 int benc_validate(const char *p, size_t len);
+int benc_dct_chk(const char *p, int count, ...);
+
+int benc_islst(const char *p);
+int benc_isdct(const char *p);
+int benc_isint(const char *p);
+int benc_isstr(const char *p);
 
 size_t benc_length(const char *p);
 size_t benc_nelems(const char *p);
@@ -9,29 +23,17 @@ size_t benc_nelems(const char *p);
 const char *benc_first(const char *p);
 const char *benc_next(const char *p);
 
-int benc_str(const char *p, const char **mem, size_t *len, const char**next);
-int benc_stra(const char *p, char **out, size_t *len, const char **next);
-int benc_strz(const char *p, char **out, size_t *len, const char **next);
-int benc_int64(const char *p, int64_t *out, const char **next);
-int benc_uint32(const char *p, uint32_t *out, const char **next);
-
-#define benc_off benc_int64
-
-int benc_dget_any(const char *p, const char *key, const char **val);
-int benc_dget_lst(const char *p, const char *key, const char **val);
-int benc_dget_dct(const char *p, const char *key, const char **val);
-int benc_dget_str(const char *p, const char *key,
-                  const char **val, size_t *len);
-int benc_dget_stra(const char *p, const char *key, char **val, size_t *len);
-int benc_dget_strz(const char *p, const char *key, char **val, size_t *len);
-int benc_dget_int64(const char *p, const char *key, int64_t *val);
-int benc_dget_uint32(const char *p, const char *key, uint32_t *val);
-
-#define benc_dget_off benc_dget_int64
-
-int benc_islst(const char *p);
-int benc_isdct(const char *p);
-int benc_isint(const char *p);
-int benc_isstr(const char *p);
+long long benc_int(const char *p, const char **next);
+const char *benc_mem(const char *p, size_t *len, const char **next);
+char *benc_mema(const char *p, size_t *len, const char **next);
+char *benc_str(const char *p, size_t *len, const char **next);
+
+const char *benc_dget_any(const char *p, const char *key);
+const char *benc_dget_lst(const char *p, const char *key);
+const char *benc_dget_dct(const char *p, const char *key);
+long long benc_dget_int(const char *p, const char *key);
+const char *benc_dget_mem(const char *p, const char *key, size_t *len);
+char *benc_dget_mema(const char *p, const char *key, size_t *len);
+char *benc_dget_str(const char *p, const char *key, size_t *len);
 
 #endif