ssf is useful for sasl
[apps/madmutt.git] / lib-sys / evtloop.h
index 3e7458a..6718480 100644 (file)
@@ -55,8 +55,10 @@ typedef enum el_event {
 
 typedef struct job_t {
     int fd;
+    int ssf;
 
     gnutls_session_t session;
+    gnutls_certificate_credentials_t xcred;
 
     el_state state : 2;
     el_mode  mode  : 3;
@@ -67,14 +69,14 @@ typedef struct job_t {
     void *ptr;
 } job_t;
 DO_INIT(job_t, job);
-DO_WIPE(job_t, job);
+void job_wipe(job_t *w);
 DO_NEW(job_t, job);
 DO_DELETE(job_t, job);
 
 typedef struct machine_t {
     const char *name;
     __must_check__ int (*setup)(job_t *w, void *);
-    int (*on_event)(job_t *w, el_event);
+    __must_check__ int (*on_event)(job_t *w, el_event);
     void (*finalize)(job_t *w, el_status);
 } machine_t;
 
@@ -84,7 +86,7 @@ typedef struct 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 type, int proto, int ssl);
 __must_check__ ssize_t el_job_read(job_t *w, buffer_t *buf);
 __must_check__ ssize_t el_job_write(job_t *w, buffer_t *buf);