diff options
author | dimitri staessens <[email protected]> | 2016-12-23 18:13:40 +0100 |
---|---|---|
committer | dimitri staessens <[email protected]> | 2016-12-24 12:19:10 +0100 |
commit | f97dee45d3c1b0088aa8010a1c9d59593c3d0df0 (patch) | |
tree | f7d3be68e5cbbab230cd114e9dcf3e167f7454e5 /src/ipcpd/normal/cdap_request.h | |
parent | cbaa4a95cc6c74c7a2cfe8a5acaf7b4867fc343a (diff) | |
download | ouroboros-f97dee45d3c1b0088aa8010a1c9d59593c3d0df0.tar.gz ouroboros-f97dee45d3c1b0088aa8010a1c9d59593c3d0df0.zip |
ipcpd, lib: Refactor normal ipcp and cdap
Refactors the normal IPCP fmgr and ribmgr, and modifies the API for
cdap so that no callbacks are needed.
Diffstat (limited to 'src/ipcpd/normal/cdap_request.h')
-rw-r--r-- | src/ipcpd/normal/cdap_request.h | 68 |
1 files changed, 0 insertions, 68 deletions
diff --git a/src/ipcpd/normal/cdap_request.h b/src/ipcpd/normal/cdap_request.h deleted file mode 100644 index 9cccfda5..00000000 --- a/src/ipcpd/normal/cdap_request.h +++ /dev/null @@ -1,68 +0,0 @@ -/* - * Ouroboros - Copyright (C) 2016 - * - * Normal IPCP - RIB Manager - CDAP request - * - * Sander Vrijders <[email protected]> - * Dimitri Staessens <[email protected]> - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * 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, write to the Free Software - * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. - */ - -#ifndef OUROBOROS_IPCPD_NORMAL_CDAP_REQUEST_H -#define OUROBOROS_IPCPD_NORMAL_CDAP_REQUEST_H - -#include <ouroboros/config.h> -#include <ouroboros/cdap.h> -#include <ouroboros/list.h> - -#include <pthread.h> - -enum creq_state { - REQ_INIT = 0, - REQ_PENDING, - REQ_RESPONSE, - REQ_DONE, - REQ_DESTROY -}; - -struct cdap_request { - struct list_head next; - - enum cdap_opcode code; - char * name; - int invoke_id; - struct cdap * instance; - - int result; - - enum creq_state state; - pthread_cond_t cond; - pthread_mutex_t lock; -}; - -struct cdap_request * cdap_request_create(enum cdap_opcode code, - char * name, - int invoke_id, - struct cdap * instance); - -void cdap_request_destroy(struct cdap_request * creq); - -int cdap_request_wait(struct cdap_request * creq); - -void cdap_request_respond(struct cdap_request * creq, - int response); - -#endif /* OUROBOROS_IPCPD_NORMAL_CDAP_REQUEST_H */ |