summaryrefslogtreecommitdiff
path: root/ecp/src/platform/posix
diff options
context:
space:
mode:
Diffstat (limited to 'ecp/src/platform/posix')
-rw-r--r--ecp/src/platform/posix/features.mk3
-rw-r--r--ecp/src/platform/posix/time.c17
-rw-r--r--ecp/src/platform/posix/transport.c17
3 files changed, 19 insertions, 18 deletions
diff --git a/ecp/src/platform/posix/features.mk b/ecp/src/platform/posix/features.mk
index 2ce8220..ea5e44c 100644
--- a/ecp/src/platform/posix/features.mk
+++ b/ecp/src/platform/posix/features.mk
@@ -1,7 +1,8 @@
with_pthread = yes
with_htable = yes
with_vconn = yes
-with_dirsrv = yes
+with_frag = yes
with_rbuf = yes
with_msgq = yes
+with_dir = yes
with_debug = yes
diff --git a/ecp/src/platform/posix/time.c b/ecp/src/platform/posix/time.c
index efee4f8..49a85e7 100644
--- a/ecp/src/platform/posix/time.c
+++ b/ecp/src/platform/posix/time.c
@@ -1,25 +1,30 @@
#include <stdlib.h>
#include <unistd.h>
+#include <time.h>
#include <sys/time.h>
-#include <core.h>
-#include <tm.h>
+#include <ecp/core.h>
+#include <ecp/tm.h>
int ecp_tm_init(ECPContext *ctx) {
return ECP_OK;
}
-ecp_sts_t ecp_tm_abstime_ms(ecp_sts_t msec) {
+ecp_sts_t ecp_tm_get_s(void) {
+ return time(NULL);
+}
+
+ecp_sts_t ecp_tm_get_ms(void) {
struct timeval tv;
ecp_sts_t ms_now;
gettimeofday(&tv, NULL);
ms_now = tv.tv_sec * 1000 + tv.tv_usec / 1000;
- return ms_now + msec;
+ return ms_now;
}
-void ecp_tm_sleep_ms(ecp_sts_t msec) {
- usleep(msec*1000);
+void ecp_tm_sleep(ecp_sts_t msec) {
+ usleep(msec * 1000);
}
void ecp_tm_timer_set(ecp_sts_t next) {}
diff --git a/ecp/src/platform/posix/transport.c b/ecp/src/platform/posix/transport.c
index ebfbc7b..51f311a 100644
--- a/ecp/src/platform/posix/transport.c
+++ b/ecp/src/platform/posix/transport.c
@@ -6,8 +6,8 @@
#include <arpa/inet.h>
#include <poll.h>
-#include <core.h>
-#include <tr.h>
+#include <ecp/core.h>
+#include <ecp/tr.h>
#define MAX_ADDR_STR 32
@@ -49,20 +49,15 @@ int ecp_tr_addr_set(ecp_tr_addr_t *addr, void *addr_s) {
return 0;
}
-int ecp_tr_open(ECPSocket *sock, void *addr_s) {
+int ecp_tr_open(ECPSocket *sock, ecp_tr_addr_t *addr) {
struct sockaddr_in _myaddr;
int rv;
memset((char *)&_myaddr, 0, sizeof(_myaddr));
_myaddr.sin_family = AF_INET;
- if (addr_s) {
- ecp_tr_addr_t addr;
-
- rv = ecp_tr_addr_set(&addr, addr_s);
- if (rv) return rv;
-
- memcpy((void *)&_myaddr.sin_addr, addr.host, sizeof(addr.host));
- _myaddr.sin_port = addr.port;
+ if (addr) {
+ memcpy((void *)&_myaddr.sin_addr, addr->host, sizeof(addr->host));
+ _myaddr.sin_port = addr->port;
} else {
_myaddr.sin_addr.s_addr = htonl(INADDR_ANY);
_myaddr.sin_port = htons(0);