diff options
| author | Richard Nyberg <rnyberg@murmeldjur.se> | 2005-06-24 09:51:38 +0000 |
|---|---|---|
| committer | Richard Nyberg <rnyberg@murmeldjur.se> | 2005-06-24 09:51:38 +0000 |
| commit | dd0d462afae75ff243f8cd1528963f9ad489706d (patch) | |
| tree | 2ef874a1fe5212245814d16f4c9b389524aed9d1 /misc/benc.h | |
| download | btpd-dd0d462afae75ff243f8cd1528963f9ad489706d.tar.gz btpd-dd0d462afae75ff243f8cd1528963f9ad489706d.zip | |
Import btpd-0.1.
git-svn-id: file:///home/rnyberg/svngit/btpd/releases/0.1@1 76a1f634-46fa-0310-9943-bd1476092a85
Diffstat (limited to 'misc/benc.h')
| -rw-r--r-- | misc/benc.h | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/misc/benc.h b/misc/benc.h new file mode 100644 index 0000000..0cc3873 --- /dev/null +++ b/misc/benc.h @@ -0,0 +1,37 @@ +#ifndef BTPD_BENC_H +#define BTPD_BENC_H + +int benc_validate(const char *p, size_t len); + +size_t benc_length(const char *p); +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); + +#endif |