summaryrefslogtreecommitdiff
path: root/src/pulp.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/pulp.h')
-rw-r--r--src/pulp.h36
1 files changed, 36 insertions, 0 deletions
diff --git a/src/pulp.h b/src/pulp.h
new file mode 100644
index 0000000..fb270f0
--- /dev/null
+++ b/src/pulp.h
@@ -0,0 +1,36 @@
+/*
+ * Copyright (C) 2018 Vito Caputo - <vcaputo@pengaru.com>
+ *
+ * This program is free software: you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 3 as published
+ * by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#ifndef _PULP_H
+#define _PULP_H
+
+#include <stdint.h>
+#include <thunk.h>
+
+typedef struct pulp_fiber_t pulp_fiber_t;
+typedef struct pulp_t pulp_t;
+typedef uint64_t pulp_usec_t;
+
+pulp_t * pulp_new(void);
+void pulp_free(pulp_t *pulp);
+int pulp_tick(pulp_t *pulp, unsigned *next_tick_delay_us);
+void pulp_run(pulp_t *pulp);
+pulp_fiber_t * pulp_fiber_new(pulp_t *pulp, unsigned delay_ms, thunk_t *thunk);
+void pulp_msleep(pulp_t *pulp, unsigned milliseconds);
+void pulp_sleep(pulp_t *pulp, unsigned seconds);
+pulp_usec_t pulp_now(pulp_t *pulp);
+
+#endif
© All Rights Reserved