Java: Hopefully working HubListeners.
[doldaconnect.git] / daemon / net.h
index da96315..2e7e2d9 100644 (file)
@@ -1,6 +1,6 @@
 /*
  *  Dolda Connect - Modular multiuser Direct Connect-style client
- *  Copyright (C) 2004 Fredrik Tolf (fredrik@dolda2000.com)
+ *  Copyright (C) 2004 Fredrik Tolf <fredrik@dolda2000.com>
  *  
  *  This program is free software; you can redistribute it and/or modify
  *  it under the terms of the GNU General Public License as published by
@@ -20,8 +20,7 @@
 #define _NET_H
 
 #include <sys/socket.h>
-
-#include <utils.h>
+#include <sys/un.h>
 
 #define SOCK_LST 0 /* Listening */
 #define SOCK_SYN 1 /* Connecting */
@@ -56,6 +55,11 @@ struct socket
     int close;
     struct sockaddr *remote;
     socklen_t remotelen;
+    struct
+    {
+       uid_t uid;
+       gid_t gid;
+    } ucred;
     union
     {
        struct
@@ -82,27 +86,20 @@ struct socket
            size_t datasize;
        } s;
     } inbuf;
-    /*
     void (*conncb)(struct socket *sk, int err, void *data);
     void (*errcb)(struct socket *sk, int err, void *data);
     void (*readcb)(struct socket *sk, void *data);
     void (*writecb)(struct socket *sk, void *data);
     void (*acceptcb)(struct socket *sk, struct socket *newsk, void *data);
     void *data;
-    */
-    CBCHAIN(socket_conn, struct socket *sk, int err);
-    CBCHAIN(socket_err, struct socket *sk, int err);
-    CBCHAIN(socket_read, struct socket *sk);
-    CBCHAIN(socket_write, struct socket *sk);
-    CBCHAIN(socket_accept, struct socket *sk, struct socket *newsk);
 };
 
 void putsock(struct socket *sk);
 void getsock(struct socket *sk);
-struct socket *netcslisten(int type, struct sockaddr *name, socklen_t namelen, int (*func)(struct socket *, struct socket *, void *), void *data);
-struct socket *netcslistenlocal(int type, struct sockaddr *name, socklen_t namelen, int (*func)(struct socket *, struct socket *, void *), void *data);
-struct socket *netcstcplisten(int port, int local, int (*func)(struct socket *, struct socket *, void *), void *data);
-struct socket *netcsconn(struct sockaddr *addr, socklen_t addrlen, int (*func)(struct socket *, int, void *), void *data);
+struct socket *netcslisten(int type, struct sockaddr *name, socklen_t namelen, void (*func)(struct socket *, struct socket *, void *), void *data);
+struct socket *netcslistenlocal(int type, struct sockaddr *name, socklen_t namelen, void (*func)(struct socket *, struct socket *, void *), void *data);
+struct socket *netcstcplisten(int port, int local, void (*func)(struct socket *, struct socket *, void *), void *data);
+struct socket *netcsconn(struct sockaddr *addr, socklen_t addrlen, void (*func)(struct socket *, int, void *), void *data);
 int pollsocks(int timeout);
 void sockqueue(struct socket *sk, void *data, size_t size);
 size_t sockqueuesize(struct socket *sk);