X-Git-Url: https://arthur.barton.de/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=include%2Fatalk%2Fdsi.h;h=baaa960c9f031f838c025f4856231975ee406f23;hb=b0bcb8f6b0571592a50ce039882c9319e012a270;hp=babd8288ce3fc55745b5acb7d2897479822ac4f5;hpb=06b7f576daa4a127964febf210869f4729235dc3;p=netatalk.git diff --git a/include/atalk/dsi.h b/include/atalk/dsi.h index babd8288..baaa960c 100644 --- a/include/atalk/dsi.h +++ b/include/atalk/dsi.h @@ -6,19 +6,16 @@ #ifndef _ATALK_DSI_H #define _ATALK_DSI_H -#include #include #include +#include #include - +#include #include + #include #include -#include - -#ifdef __OpenBSD__ -#include -#endif +#include /* What a DSI packet looks like: 0 32 @@ -59,6 +56,7 @@ struct dsi_block { /* child and parent processes might interpret a couple of these * differently. */ typedef struct DSI { + AFPObj *AFPobj; dsi_proto protocol; struct dsi_block header; struct sockaddr_storage server, client; @@ -157,6 +155,7 @@ typedef struct DSI { #define DSI_RECONSOCKET (1 << 7) /* we have a new socket from primary reconnect */ #define DSI_RECONINPROG (1 << 8) /* used in the new session in reconnect */ #define DSI_AFP_LOGGED_OUT (1 << 9) /* client called afp_logout, quit on next EOF from socket */ +#define DSI_GOT_ECONNRESET (1 << 10) /* got ECONNRESET from client => exit */ /* basic initialization: dsi_init.c */ extern DSI *dsi_init (const dsi_proto /*protocol*/, @@ -185,6 +184,7 @@ extern ssize_t dsi_stream_write (DSI *, void *, const size_t, const int mode); extern size_t dsi_stream_read (DSI *, void *, const size_t); extern int dsi_stream_send (DSI *, void *, size_t); extern int dsi_stream_receive (DSI *, void *, const size_t, size_t *); +extern int dsi_disconnect(DSI *dsi); #ifdef WITH_SENDFILE extern ssize_t dsi_stream_read_file(DSI *, int, off_t off, const size_t len);