9 typedef unsigned char BYTE
;
12 typedef struct output_item_t output_item
;
15 size_t (*get_size
)(output_item
*this);
17 /* Handle windows handles? */
18 /* TODO: Define return values */
19 int (*send
)(output_item
* this, int fd
, int fdtype
);
20 size_t (*remaining
)(output_item
*this);
21 void (*release
)(output_item
*this);
22 /* prepare and on_* -> Optional */
23 void (*prepare
)(output_item
*this);
24 void (*on_complete
)(output_item
*this);
25 void (*on_error
)(output_item
*this, int status
);
28 struct output_item_t
{
30 /* User callbacks : Optional */
31 void (*on_complete
)(output_item
*this);
32 void (*on_error
)(output_item
*this, int status
);
36 size_t output_get_size(output_item
*item
);
38 void output_prepare(output_item
*item
);
40 int output_send(output_item
*item
, int fd
, int fdtype
);
42 size_t output_remaining(output_item
*item
);
44 void output_on_complete(output_item
*item
);
46 void output_on_error(output_item
*item
, int status
);
48 void output_release(output_item
*item
);
51 #include "../src/output/output_item.inc"