summaryrefslogtreecommitdiffstats
path: root/clib
diff options
context:
space:
mode:
authorStewart Smith <stewart@linux.vnet.ibm.com>2015-12-15 15:57:46 +1100
committerStewart Smith <stewart@linux.vnet.ibm.com>2015-12-15 16:48:06 +1100
commitd38494a9cbcf12db3d923362b754299b64dc4aec (patch)
tree9720fed52839478e28cecc8d91eac9234376553c /clib
parentb0ca9982f06b77967adb7d5fbab91ea98ac64d6f (diff)
downloadffs-d38494a9cbcf12db3d923362b754299b64dc4aec.tar.gz
ffs-d38494a9cbcf12db3d923362b754299b64dc4aec.zip
remove unused dispatch and watch
Signed-off-by: Stewart Smith <stewart@linux.vnet.ibm.com>
Diffstat (limited to 'clib')
-rw-r--r--clib/Rules.mk2
-rw-r--r--clib/dispatch.h100
-rw-r--r--clib/src/dispatch.c162
-rw-r--r--clib/src/watch.c142
-rw-r--r--clib/test/dispatch.c70
-rw-r--r--clib/test/watch.c51
-rw-r--r--clib/watch.h94
7 files changed, 1 insertions, 620 deletions
diff --git a/clib/Rules.mk b/clib/Rules.mk
index e115e60..fcca1a6 100644
--- a/clib/Rules.mk
+++ b/clib/Rules.mk
@@ -27,7 +27,7 @@ CFLAGS += -iquote$(DEPTH) -fPIC
LDFLAGS=-L.
-# array.o array_iter.o dispatch.o watch.o signal.o heap.o
+# array.o array_iter.o signal.o heap.o
OBJS = err.o crc32.o misc.o ecc.o \
exception.o slab.o \
diff --git a/clib/dispatch.h b/clib/dispatch.h
deleted file mode 100644
index 410423b..0000000
--- a/clib/dispatch.h
+++ /dev/null
@@ -1,100 +0,0 @@
-/* IBM_PROLOG_BEGIN_TAG */
-/* This is an automatically generated prolog. */
-/* */
-/* $Source: clib/dispatch.h $ */
-/* */
-/* OpenPOWER FFS Project */
-/* */
-/* Contributors Listed Below - COPYRIGHT 2014,2015 */
-/* [+] International Business Machines Corp. */
-/* */
-/* */
-/* Licensed under the Apache License, Version 2.0 (the "License"); */
-/* you may not use this file except in compliance with the License. */
-/* You may obtain a copy of the License at */
-/* */
-/* http://www.apache.org/licenses/LICENSE-2.0 */
-/* */
-/* Unless required by applicable law or agreed to in writing, software */
-/* distributed under the License is distributed on an "AS IS" BASIS, */
-/* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or */
-/* implied. See the License for the specific language governing */
-/* permissions and limitations under the License. */
-/* */
-/* IBM_PROLOG_END_TAG */
-
-/*
- * File: dispatch.h
- * Author: Shaun Wetzstein <shaun@us.ibm.com>
- * Descr: File descriptor activity callback dispatcher
- * Note:
- * Date: 10/03/10
- */
-
-#ifndef __DISPATCH_H__
-#define __DISPATCH_H__
-
-#include <stdint.h>
-#include <stdbool.h>
-
-#include <sys/epoll.h>
-
-#include "attribute.h"
-#include "builtin.h"
-#include "assert.h"
-
-#include "tree.h"
-#include "array.h"
-
-#define DISPATCH_READ EPOLLIN
-#define DISPATCH_WRITE EPOLLOUT
-#define DISPATCH_READ_HUP EPOLLRDHUP
-#define DISPATCH_READ_PRIORITY EPOLLPRI
-#define DISPATCH_ERROR EPOLLERR
-#define DISPATCH_WRITE_HUP EPOLLRDHUP
-#define DISPATCH_EDGE_TRIGGER EPOLLET
-#define DISPATCH_ONE_SHOT EPOLLONESHOT
-
-/* ======================================================================= */
-
-typedef struct dispatch dispatch_t;
-typedef struct dispatch_callback dispatch_callback_t;
-typedef struct dispatch_event dispatch_event_t;
-
-typedef int (*dispatch_f) (dispatch_event_t *, void *);
-
-struct dispatch {
- int fd;
- array_t events;
-};
-
-struct dispatch_callback {
- int fd;
- void *data;
- dispatch_f func;
-};
-
-struct dispatch_event {
- int fd;
- uint32_t events;
-};
-
-/* ======================================================================= */
-
-extern void dispatch_init(dispatch_t *) __nonnull((1));
-
-extern void dispatch_delete(dispatch_t *) __nonnull((1));
-
-extern int dispatch_fileno(dispatch_t *) __nonnull((1));
-
-extern int dispatch_add(dispatch_t *, int, uint32_t, dispatch_callback_t *)
-__nonnull((1, 4));
-extern void dispatch_remove(dispatch_t *, int) __nonnull((1));
-
-#define dispatch_wait(...) STRCAT(dispatch_wait, NARGS(__VA_ARGS__))(__VA_ARGS__)
-extern void dispatch_wait1(dispatch_t *) __nonnull((1));
-extern void dispatch_wait2(dispatch_t *, int) __nonnull((1));
-
-/* ======================================================================= */
-
-#endif /* __DISPATCH_H__ */
diff --git a/clib/src/dispatch.c b/clib/src/dispatch.c
deleted file mode 100644
index 046d554..0000000
--- a/clib/src/dispatch.c
+++ /dev/null
@@ -1,162 +0,0 @@
-/* IBM_PROLOG_BEGIN_TAG */
-/* This is an automatically generated prolog. */
-/* */
-/* $Source: clib/src/dispatch.c $ */
-/* */
-/* OpenPOWER FFS Project */
-/* */
-/* Contributors Listed Below - COPYRIGHT 2014,2015 */
-/* [+] International Business Machines Corp. */
-/* */
-/* */
-/* Licensed under the Apache License, Version 2.0 (the "License"); */
-/* you may not use this file except in compliance with the License. */
-/* You may obtain a copy of the License at */
-/* */
-/* http://www.apache.org/licenses/LICENSE-2.0 */
-/* */
-/* Unless required by applicable law or agreed to in writing, software */
-/* distributed under the License is distributed on an "AS IS" BASIS, */
-/* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or */
-/* implied. See the License for the specific language governing */
-/* permissions and limitations under the License. */
-/* */
-/* IBM_PROLOG_END_TAG */
-
-/*
- * File: dispatch.c
- * Author: Shaun Wetzstein <shaun@us.ibm.com>
- * Descr:
- * Note:
- * Date: 10/03/10
- */
-
-#include <unistd.h>
-#include <stdarg.h>
-#include <stdlib.h>
-#include <malloc.h>
-#include <stdint.h>
-#include <stdio.h>
-#include <string.h>
-#include <errno.h>
-#include <limits.h>
-
-#include "misc.h"
-#include "nargs.h"
-#include "dispatch.h"
-
-#define DISPATCH_PAGE_SIZE 64
-#define DISPATCH_EVENT_SIZE 10
-
-/* ======================================================================= */
-
-const char *__dispatch_msg[] = {
- "dispatch: unexpected NULL self pointer",
- "dispatch: unexpected NULL callback structure",
-};
-
-#define DISPATCH_NULL (__dispatch_msg[0])
-#define DISPATCH_CALLBACK_NULL (__dispatch_msg[1])
-
-/* ======================================================================= */
-
-void dispatch_init(dispatch_t * self)
-{
- if (unlikely(self == NULL))
- throw_unexpected(DISPATCH_NULL);
-
- if (self->fd != -1)
- close(self->fd), self->fd = -1;
-
- self->fd = epoll_create1(EPOLL_CLOEXEC);
- if (unlikely(self->fd == -1))
- throw_errno(errno);
-
- array_init(&self->events, sizeof(struct epoll_event),
- DISPATCH_PAGE_SIZE);
-}
-
-void dispatch_delete(dispatch_t * self)
-{
- if (unlikely(self == NULL))
- throw_unexpected(DISPATCH_NULL);
- close(self->fd), self->fd = -1;
- array_delete(&self->events);
-}
-
-int dispatch_fileno(dispatch_t * self)
-{
- if (unlikely(self == NULL))
- throw_unexpected(DISPATCH_NULL);
- return self->fd;
-}
-
-int dispatch_add(dispatch_t * self, int fd, uint32_t events,
- dispatch_callback_t * cb)
-{
- if (unlikely(self == NULL))
- throw_unexpected(DISPATCH_NULL);
-
- array_status(&self->events, fd, true);
-
- struct epoll_event *ep;
- ep = (struct epoll_event *)array_at(&self->events, fd);
- ep->events = events;
- ep->data.u64 = (uint64_t) fd << 32;
- ep->data.ptr = (void *)cb;
-
- if (unlikely(epoll_ctl(self->fd, EPOLL_CTL_ADD, fd, ep)))
- throw_errno(errno);
-
- return fd;
-}
-
-void dispatch_remove(dispatch_t * self, int fd)
-{
- if (unlikely(self == NULL))
- throw_unexpected(DISPATCH_NULL);
-
- if (unlikely(epoll_ctl(self->fd, EPOLL_CTL_DEL, fd, NULL)))
- throw_errno(errno);
-
- array_status(&self->events, fd, false);
-}
-
-void dispatch_wait1(dispatch_t * self)
-{
- dispatch_wait2(self, -1);
-}
-
-void dispatch_wait2(dispatch_t * self, int timeout)
-{
- if (unlikely(self == NULL))
- throw_unexpected(DISPATCH_NULL);
-
- if (-1 < self->fd) {
- struct epoll_event events[DISPATCH_EVENT_SIZE];
-
- int rc = epoll_wait(self->fd, events,
- DISPATCH_EVENT_SIZE, timeout);
-
- if (0 < rc) {
- dump_memory(stdout, 0, events, sizeof(events));
- }
- for (int n = 0; n < rc; n++) {
- dispatch_callback_t *cb =
- (dispatch_callback_t *) events[n].data.ptr;
- if (cb != NULL) {
- printf
- ("cb[%p] fd[%d] data[%p] ep->data.u64[%lld]\n",
- cb, cb->fd, cb->data, events[n].data.u64);
- if (cb->func != NULL) {
- // dispatch_event ev = {events[n].data.u64 >> 32, events[n].events};
- dispatch_event_t ev =
- { cb->fd, events[n].events };
- cb->func(&ev, cb->data);
- }
- }
- }
- }
-}
-
-/* ======================================================================= */
diff --git a/clib/src/watch.c b/clib/src/watch.c
deleted file mode 100644
index 508a424..0000000
--- a/clib/src/watch.c
+++ /dev/null
@@ -1,142 +0,0 @@
-/* IBM_PROLOG_BEGIN_TAG */
-/* This is an automatically generated prolog. */
-/* */
-/* $Source: clib/src/watch.c $ */
-/* */
-/* OpenPOWER FFS Project */
-/* */
-/* Contributors Listed Below - COPYRIGHT 2014,2015 */
-/* [+] International Business Machines Corp. */
-/* */
-/* */
-/* Licensed under the Apache License, Version 2.0 (the "License"); */
-/* you may not use this file except in compliance with the License. */
-/* You may obtain a copy of the License at */
-/* */
-/* http://www.apache.org/licenses/LICENSE-2.0 */
-/* */
-/* Unless required by applicable law or agreed to in writing, software */
-/* distributed under the License is distributed on an "AS IS" BASIS, */
-/* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or */
-/* implied. See the License for the specific language governing */
-/* permissions and limitations under the License. */
-/* */
-/* IBM_PROLOG_END_TAG */
-
-/*
- * File: watch.c
- * Author: Shaun Wetzstein <shaun@us.ibm.com>
- * Descr:
- * Note:
- * Date: 10/03/10
- */
-
-#include <unistd.h>
-#include <stdarg.h>
-#include <stdlib.h>
-#include <malloc.h>
-#include <stdint.h>
-#include <stdio.h>
-#include <string.h>
-#include <errno.h>
-#include <limits.h>
-
-#include "misc.h"
-#include "nargs.h"
-#include "watch.h"
-
-#define WATCH_PAGE_SIZE 64
-#define WATCH_EVENT_SIZE 64
-
-/* ======================================================================= */
-
-const char *__watch_msg[] = {
- "watch: unexpected NULL self pointer",
- "watch: unexpected NULL callback structure",
-};
-
-#define WATCH_NULL (__watch_msg[0])
-#define WATCH_CALLBACK_NULL (__watch_msg[1])
-
-/* ======================================================================= */
-
-void watch_init(watch_t * self)
-{
- if (unlikely(self == NULL))
- throw_unexpected(WATCH_NULL);
-
- if (self->fd != -1)
- close(self->fd), self->fd = -1;
-
- self->fd = inotify_init1(IN_CLOEXEC);
- if (unlikely(self->fd == -1))
- throw_errno(errno);
-
- array_init(&self->callbacks, sizeof(watch_callback_t), WATCH_PAGE_SIZE);
-}
-
-void watch_delete(watch_t * self)
-{
- if (unlikely(self == NULL))
- throw_unexpected(WATCH_NULL);
- close(self->fd), self->fd = -1;
- array_delete(&self->callbacks);
-}
-
-int watch_fileno(watch_t * self)
-{
- if (unlikely(self == NULL))
- throw_unexpected(WATCH_NULL);
- return self->fd;
-}
-
-uint32_t watch_add(watch_t * self, const char *path, uint32_t events,
- watch_callback_t * cb)
-{
- if (unlikely(self == NULL))
- throw_unexpected(WATCH_NULL);
-
- if (access(path, F_OK) != 0)
- throw_errno(errno);
-
- uint32_t wd = inotify_add_watch(self->fd, path, events);
- if (unlikely((int)wd == -1))
- throw_errno(errno);
-
- if (cb != NULL)
- array_put(&self->callbacks, wd, cb, 1);
-
- return wd;
-}
-
-void watch_remove(watch_t * self, uint32_t wd)
-{
- if (unlikely(self == NULL))
- throw_unexpected(WATCH_NULL);
-
- int rc = inotify_rm_watch(self->fd, wd);
- if (unlikely(rc == -1))
- throw_errno(errno);
-
- array_status(&self->callbacks, wd, false);
-}
-
-void watch_wait(watch_t * self)
-{
- if (unlikely(self == NULL))
- throw_unexpected(WATCH_NULL);
-
- /* FIX ME */
-
- watch_event_t events[WATCH_EVENT_SIZE];
-
- ssize_t n = read(self->fd, events, sizeof events);
- printf("n[%d]\n", n);
-
- for (ssize_t i = 0; i < (ssize_t) (n / sizeof *events); i++)
- printf("%d: wd[%d] mask[%x] cookie[%x] name[%.*s]\n",
- i, events[i].wd, events[i].mask, events[i].cookie,
- events[i].len, events[i].name);
-}
-
-/* ======================================================================= */
diff --git a/clib/test/dispatch.c b/clib/test/dispatch.c
deleted file mode 100644
index 88718f7..0000000
--- a/clib/test/dispatch.c
+++ /dev/null
@@ -1,70 +0,0 @@
-/* IBM_PROLOG_BEGIN_TAG */
-/* This is an automatically generated prolog. */
-/* */
-/* $Source: clib/test/dispatch.c $ */
-/* */
-/* OpenPOWER FFS Project */
-/* */
-/* Contributors Listed Below - COPYRIGHT 2014,2015 */
-/* [+] International Business Machines Corp. */
-/* */
-/* */
-/* Licensed under the Apache License, Version 2.0 (the "License"); */
-/* you may not use this file except in compliance with the License. */
-/* You may obtain a copy of the License at */
-/* */
-/* http://www.apache.org/licenses/LICENSE-2.0 */
-/* */
-/* Unless required by applicable law or agreed to in writing, software */
-/* distributed under the License is distributed on an "AS IS" BASIS, */
-/* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or */
-/* implied. See the License for the specific language governing */
-/* permissions and limitations under the License. */
-/* */
-/* IBM_PROLOG_END_TAG */
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <unistd.h>
-
-#include <clib/watch.h>
-#include <clib/dispatch.h>
-
-int callback(dispatch_event_t * ev, void * ptr) {
- char buf[256];
- int rc;
-
- rc = read(ev->fd, buf, sizeof buf);
- printf("rc[%d]\n", rc);
-
- printf("fd[%x]\n", ev->fd);
- printf("events[%x]\n", ev->events);
-
- return 0;
-}
-
-int main(const int argc, const char * argv[]) {
- watch_t w;
- watch_init(&w);
-
- watch_callback_t wc = {
- .data = NULL,
- .func = NULL,
- };
-
- watch_add(&w, "/dev/mqueue", IN_CREATE | IN_ATTRIB, &wc);
-
- dispatch_t d;
- dispatch_init(&d);
-
- dispatch_callback_t dc = {
- .data = NULL,
- .func = callback,
- };
-
- dispatch_add(&d, watch_fileno(&w), EPOLLIN, &dc);
- dispatch_wait(&d);
-
- return 0;
-}
diff --git a/clib/test/watch.c b/clib/test/watch.c
deleted file mode 100644
index 4e0305a..0000000
--- a/clib/test/watch.c
+++ /dev/null
@@ -1,51 +0,0 @@
-/* IBM_PROLOG_BEGIN_TAG */
-/* This is an automatically generated prolog. */
-/* */
-/* $Source: clib/test/watch.c $ */
-/* */
-/* OpenPOWER FFS Project */
-/* */
-/* Contributors Listed Below - COPYRIGHT 2014,2015 */
-/* [+] International Business Machines Corp. */
-/* */
-/* */
-/* Licensed under the Apache License, Version 2.0 (the "License"); */
-/* you may not use this file except in compliance with the License. */
-/* You may obtain a copy of the License at */
-/* */
-/* http://www.apache.org/licenses/LICENSE-2.0 */
-/* */
-/* Unless required by applicable law or agreed to in writing, software */
-/* distributed under the License is distributed on an "AS IS" BASIS, */
-/* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or */
-/* implied. See the License for the specific language governing */
-/* permissions and limitations under the License. */
-/* */
-/* IBM_PROLOG_END_TAG */
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <unistd.h>
-
-#include <clib/watch.h>
-
-int callback(watch_event_t * we) {
- printf("hello\n");
- return 0;
-}
-
-int main(const int argc, const char * argv[]) {
- watch_t w;
- watch_init(&w);
-
- watch_callback_t cb = {
- .data = NULL,
- .func = callback,
- };
-
- watch_add(&w, "/dev/mqueue", IN_CREATE | IN_ATTRIB, &cb);
- watch_wait(&w);
-
- return 0;
-}
diff --git a/clib/watch.h b/clib/watch.h
deleted file mode 100644
index 00e005c..0000000
--- a/clib/watch.h
+++ /dev/null
@@ -1,94 +0,0 @@
-/* IBM_PROLOG_BEGIN_TAG */
-/* This is an automatically generated prolog. */
-/* */
-/* $Source: clib/watch.h $ */
-/* */
-/* OpenPOWER FFS Project */
-/* */
-/* Contributors Listed Below - COPYRIGHT 2014,2015 */
-/* [+] International Business Machines Corp. */
-/* */
-/* */
-/* Licensed under the Apache License, Version 2.0 (the "License"); */
-/* you may not use this file except in compliance with the License. */
-/* You may obtain a copy of the License at */
-/* */
-/* http://www.apache.org/licenses/LICENSE-2.0 */
-/* */
-/* Unless required by applicable law or agreed to in writing, software */
-/* distributed under the License is distributed on an "AS IS" BASIS, */
-/* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or */
-/* implied. See the License for the specific language governing */
-/* permissions and limitations under the License. */
-/* */
-/* IBM_PROLOG_END_TAG */
-
-/*
- * File: watch.h
- * Author: Shaun Wetzstein <shaun@us.ibm.com>
- * Descr: Directory activity callback monitor
- * Note:
- * Date: 10/03/10
- */
-
-#ifndef __WATCH_H__
-#define __WATCH_H__
-
-#include <stdint.h>
-#include <stdbool.h>
-
-#include <sys/inotify.h>
-
-#include "attribute.h"
-#include "builtin.h"
-#include "assert.h"
-
-#include "array.h"
-
-/* ==================================================================== */
-
-#define WATCH_ACCESS IN_ACCESS
-#define WATCH_ATTRIB IN_ATTRIB
-#define WATCH_CLOSE_WRITE IN_CLOSE_WRITE
-#define WATCH_CLOSE_NOWRITE IN_CLOSE_NOWRITE
-#define WATCH_CREATE IN_CREATE
-#define WATCH_DELETE IN_DELETE
-#define WATCH_DELETE_SELF IN_DELETE_SELF
-#define WATCH_MODIFY IN_MODIFY
-#define WATCH_MOVE_SELF IN_MOVE_SELF
-#define WATCH_MOVE_FROM IN_MOVE_FROM
-#define WATCH_MOVE_TO IN_MOVE_TO
-#define WATCH_OPEN IN_OPEN
-
-typedef struct watch watch_t;
-typedef struct watch_callback watch_callback_t;
-typedef struct inotify_event watch_event_t;
-
-typedef int (*watch_f) (watch_event_t *);
-
-struct watch {
- int fd;
- array_t callbacks;
-};
-
-struct watch_callback {
- void *data;
- watch_f func;
-};
-
-/* ======================================================================= */
-
-extern void watch_init(watch_t * self) __nonnull((1));
-extern void watch_delete(watch_t * self) __nonnull((1));
-
-extern int watch_fileno(watch_t * self) __nonnull((1));
-
-extern uint32_t watch_add(watch_t * self, const char *path, uint32_t events,
- watch_callback_t * cb) __nonnull((1, 2));
-extern void watch_remove(watch_t * self, uint32_t wd) __nonnull((1));
-
-extern void watch_wait(watch_t * self) __nonnull((1));
-
-/* ======================================================================= */
-
-#endif /* __watch_H__ */
OpenPOWER on IntegriCloud