summaryrefslogtreecommitdiff
path: root/include/ouroboros/fcntl.h
diff options
context:
space:
mode:
authordimitri staessens <dimitri.staessens@intec.ugent.be>2016-12-12 13:24:17 +0100
committerdimitri staessens <dimitri.staessens@intec.ugent.be>2016-12-12 15:10:30 +0100
commitf8c14e0246a6c9cb5e8ff47869b5968abb63f010 (patch)
treed91c005451a74822516669f3f7cc3ade34971abb /include/ouroboros/fcntl.h
parentb731adbf7b6fa16490f7abf94e2662d82d76cce0 (diff)
downloadouroboros-f8c14e0246a6c9cb5e8ff47869b5968abb63f010.tar.gz
ouroboros-f8c14e0246a6c9cb5e8ff47869b5968abb63f010.zip
src, tools: Set/get timeout and get qos for flows
Receiver timeouts can now be set on a flow using the flow_set_timeout function. Specifying NULL disables the timeout. The flow_get_timeout function gets the value for the timeout. This commit also deprecates fcntl in favor of flow_get_flags and flow_set_flags functions. struct qos_spec is typedef'd as a qosspec_t. The tools and cdap.c are updated to use the new API. Fixes a bug in operf client where the client's writer thread wouldn't cancel on SIGINT.
Diffstat (limited to 'include/ouroboros/fcntl.h')
-rw-r--r--include/ouroboros/fcntl.h19
1 files changed, 14 insertions, 5 deletions
diff --git a/include/ouroboros/fcntl.h b/include/ouroboros/fcntl.h
index ccb45996..3ad3ccac 100644
--- a/include/ouroboros/fcntl.h
+++ b/include/ouroboros/fcntl.h
@@ -23,6 +23,8 @@
#ifndef OUROBOROS_FCNTL_H
#define OUROBOROS_FCNTL_H
+#include <sys/time.h>
+
/* same values as fcntl.h */
#define FLOW_O_RDONLY 00000000
#define FLOW_O_WRONLY 00000001
@@ -34,11 +36,18 @@
#define FLOW_O_INVALID (FLOW_O_WRONLY | FLOW_O_RDWR)
-#define FLOW_F_GETFL 00000001
-#define FLOW_F_SETFL 00000002
+int flow_set_flags(int fd,
+ int flags);
+
+int flow_get_flags(int fd);
+
+int flow_set_timeout(int fd,
+ struct timespec * to);
+
+int flow_get_timeout(int fd,
+ struct timespec * to);
-int flow_cntl(int fd,
- int cmd,
- int oflags);
+int flow_get_qosspec(int fd,
+ qosspec_t * spec);
#endif /* OUROBOROS_FCNTL_H */