123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842 |
- extern "C" {
- struct evbuffer
- {}
- ;
- struct evbuffer_ptr {
- ev_ssize_t pos;
-
- struct {
- void *chain;
- size_t pos_in_chain;
- } _internal;
- };
- struct evbuffer_iovec {
-
- void *iov_base;
-
- size_t iov_len;
- };
- struct evbuffer *evbuffer_new(void);
- void evbuffer_free(struct evbuffer *buf);
- int evbuffer_enable_locking(struct evbuffer *buf, void *lock);
- void evbuffer_lock(struct evbuffer *buf);
- void evbuffer_unlock(struct evbuffer *buf);
- int evbuffer_set_flags(struct evbuffer *buf, ev_uint64_t flags);
- int evbuffer_clear_flags(struct evbuffer *buf, ev_uint64_t flags);
- size_t evbuffer_get_length(const struct evbuffer *buf);
- size_t evbuffer_get_contiguous_space(const struct evbuffer *buf);
- int evbuffer_expand(struct evbuffer *buf, size_t datlen);
- int
- evbuffer_reserve_space(struct evbuffer *buf, ev_ssize_t size,
- struct evbuffer_iovec *vec, int n_vec);
- int evbuffer_commit_space(struct evbuffer *buf,
- struct evbuffer_iovec *vec, int n_vecs);
- int evbuffer_add(struct evbuffer *buf, const void *data, size_t datlen);
- int evbuffer_remove(struct evbuffer *buf, void *data, size_t datlen);
- ev_ssize_t evbuffer_copyout(struct evbuffer *buf, void *data_out, size_t datlen);
- int evbuffer_remove_buffer(struct evbuffer *src, struct evbuffer *dst,
- size_t datlen);
- enum evbuffer_eol_style {
-
- EVBUFFER_EOL_ANY,
-
- EVBUFFER_EOL_CRLF,
-
- EVBUFFER_EOL_CRLF_STRICT,
-
- EVBUFFER_EOL_LF
- };
- char *evbuffer_readln(struct evbuffer *buffer, size_t *n_read_out,
- enum evbuffer_eol_style eol_style);
- int evbuffer_add_buffer(struct evbuffer *outbuf, struct evbuffer *inbuf);
- typedef void (*evbuffer_ref_cleanup_cb)(const void *data,
- size_t datalen, void *extra);
- int evbuffer_add_reference(struct evbuffer *outbuf,
- const void *data, size_t datlen,
- evbuffer_ref_cleanup_cb cleanupfn, void *cleanupfn_arg);
- int evbuffer_add_file(struct evbuffer *outbuf, int fd, ev_off_t offset,
- ev_off_t length);
- int evbuffer_add_printf(struct evbuffer *buf, const char *fmt, ...)
- __attribute__((format(printf, 2, 3)))
- ;
- int evbuffer_add_vprintf(struct evbuffer *buf, const char *fmt, va_list ap)
- __attribute__((format(printf, 2, 0)))
- ;
- int evbuffer_drain(struct evbuffer *buf, size_t len);
- int evbuffer_write(struct evbuffer *buffer, evutil_socket_t fd);
- int evbuffer_write_atmost(struct evbuffer *buffer, evutil_socket_t fd,
- ev_ssize_t howmuch);
- int evbuffer_read(struct evbuffer *buffer, evutil_socket_t fd, int howmuch);
- struct evbuffer_ptr evbuffer_search(struct evbuffer *buffer, const char *what, size_t len, const struct evbuffer_ptr *start);
- struct evbuffer_ptr evbuffer_search_range(struct evbuffer *buffer, const char *what, size_t len, const struct evbuffer_ptr *start, const struct evbuffer_ptr *end);
- enum evbuffer_ptr_how {
-
- EVBUFFER_PTR_SET,
-
- EVBUFFER_PTR_ADD
- };
- int
- evbuffer_ptr_set(struct evbuffer *buffer, struct evbuffer_ptr *ptr,
- size_t position, enum evbuffer_ptr_how how);
- struct evbuffer_ptr evbuffer_search_eol(struct evbuffer *buffer,
- struct evbuffer_ptr *start, size_t *eol_len_out,
- enum evbuffer_eol_style eol_style);
- int evbuffer_peek(struct evbuffer *buffer, ev_ssize_t len,
- struct evbuffer_ptr *start_at,
- struct evbuffer_iovec *vec_out, int n_vec);
- struct evbuffer_cb_info {
-
- size_t orig_size;
-
- size_t n_added;
-
- size_t n_deleted;
- };
- typedef void (*evbuffer_cb_func)(struct evbuffer *buffer, const struct evbuffer_cb_info *info, void *arg);
- struct evbuffer_cb_entry;
- struct evbuffer_cb_entry *evbuffer_add_cb(struct evbuffer *buffer, evbuffer_cb_func cb, void *cbarg);
- int evbuffer_remove_cb_entry(struct evbuffer *buffer,
- struct evbuffer_cb_entry *ent);
- int evbuffer_remove_cb(struct evbuffer *buffer, evbuffer_cb_func cb, void *cbarg);
- int evbuffer_cb_set_flags(struct evbuffer *buffer,
- struct evbuffer_cb_entry *cb, ev_uint32_t flags);
- int evbuffer_cb_clear_flags(struct evbuffer *buffer,
- struct evbuffer_cb_entry *cb, ev_uint32_t flags);
- void evbuffer_cb_suspend(struct evbuffer *buffer, struct evbuffer_cb_entry *cb);
- void evbuffer_cb_unsuspend(struct evbuffer *buffer, struct evbuffer_cb_entry *cb);
- unsigned char *evbuffer_pullup(struct evbuffer *buf, ev_ssize_t size);
- int evbuffer_prepend(struct evbuffer *buf, const void *data, size_t size);
- int evbuffer_prepend_buffer(struct evbuffer *dst, struct evbuffer* src);
- int evbuffer_freeze(struct evbuffer *buf, int at_front);
- int evbuffer_unfreeze(struct evbuffer *buf, int at_front);
- struct event_base;
- int evbuffer_defer_callbacks(struct evbuffer *buffer, struct event_base *base);
- }
|