} el_state;
typedef enum el_mode {
- EL_IDLE = 0,
+ EL_NEW = 0,
EL_READING = 1,
EL_WRITING = 2,
EL_RDWR = 3,
+ EL_IDLE = 4,
} el_mode;
typedef enum el_status {
int fd;
el_state state : 2;
- el_mode mode : 2;
- el_mode emode : 2;
+ el_mode mode : 3;
+ el_mode emode : 3;
int (*llp)(struct job_t *);
struct machine_t *m;
void *ptr;
} job_t;
+DO_INIT(job_t, job);
+DO_WIPE(job_t, job);
+DO_NEW(job_t, job);
+DO_DELETE(job_t, job);
typedef struct machine_t {
const char *name;
void (*finalize)(job_t *w, el_status);
} machine_t;
+__must_check__ int el_job_setmode(job_t *w, el_mode);
__must_check__ int el_job_release(job_t *j, el_status);
+__must_check__ int el_job_connect(job_t *w, struct sockaddr *, socklen_t len,
+ int type, int proto);
+
int el_dispatch(int timeout);
#endif