Code

client: Added an EOF flag to the client object.
[sysdb.git] / src / include / client / sock.h
index e33f4d769b01d2451ba6c019a7b0a885f4bfb3b5..4fd54baa1c5fa7ac99c3c0f46bbf2e2d8f8f2cd6 100644 (file)
@@ -31,6 +31,8 @@
 #include "core/object.h"
 #include "core/data.h"
 
+#include "frontend/proto.h"
+
 #include "utils/strbuf.h"
 
 #include <sys/socket.h>
@@ -65,14 +67,21 @@ sdb_client_destroy(sdb_client_t *client);
 
 /*
  * sdb_client_connect:
- * Connect to the client's address.
+ * Connect to the client's address using the specified username.
  *
  * Returns:
  *  - 0 on success
  *  - a negative value else
  */
 int
-sdb_client_connect(sdb_client_t *client);
+sdb_client_connect(sdb_client_t *client, const char *username);
+
+/*
+ * sdb_client_sockfd:
+ * Return the client socket's file descriptor.
+ */
+int
+sdb_client_sockfd(sdb_client_t *client);
 
 /*
  * sdb_client_close:
@@ -112,6 +121,14 @@ ssize_t
 sdb_client_recv(sdb_client_t *client,
                uint32_t *code, sdb_strbuf_t *buf);
 
+/*
+ * sdb_client_eof:
+ * Returns true if end of file on the client connection was reached, that is,
+ * if the remote side closed the connection.
+ */
+_Bool
+sdb_client_eof(sdb_client_t *client);
+
 #ifdef __cplusplus
 } /* extern "C" */
 #endif