summaryrefslogtreecommitdiff
path: root/include/ouroboros/sockets.h
Commit message (Collapse)AuthorAgeFilesLines
* lib: Stabilise flow allocationdimitri staessens2016-10-231-2/+0
| | | | | | | Deallocation was reverted to a synchronoous operation between the AP, IRMd and IPCP in order to avoid inconsistent states of the port_id. Fixes some memory leaks, particularly the shm_flow_set is now closed upon deallocation.
* lib, dev: Add asynchronous deallocationdimitri staessens2016-10-071-0/+2
| | | | | Flow deallocation from the application will immediately return (void call). The IRMd will not send a reply message.
* lib, ipcp: Revise fast path and flow interfacesdimitri staessens2016-10-041-2/+2
| | | | | | | | | | | | IPCPs can now use ap_init() to initialize the memory. All flows are accessed using flow descriptors, this greatly simplifies IPCP development. Reverts the fast path to a single ap_rbuff per process. Splits lib/ipcp into irmd/ipcp and lib/ipcp-dev. Adds a lib/shim-dev holding tailored functions for shims. Moves the buffer_t to utils.h. Fixes the shim-eth-llc length field. Removes the flow from shared.h. Fixes #4 Fixes #5
* lib, irmd, ipcp: Add socket timeoutSander Vrijders2016-08-101-0/+1
| | | | | | This will add a timeout to the socket so that a process won't be blocked by the actions of the process with which it is communicating over the socket.
* lib, irmd, ipcpd: Change pid to apiSander Vrijders2016-06-281-1/+1
| | | | Changes the variable name as well to API instead of PID.
* lib, irmd: Change sockets and shm pathSander Vrijders2016-06-201-1/+1
| | | | | | Reverting from previous commit. Even when running Ouroboros sandboxed, the sockets and shared memory should be created in the default system paths.
* build: Change install directories and set correct permissionsSander Vrijders2016-06-201-2/+5
| | | | | | | | | This sets the correct install directories for all the binaries, library and header files. It also sets the right permissions on the sockets and shared memory so that regular users can also use the ouroboros library. Root privileges are required to run the irmd. Fixes #7
* lib, irmd, irm: Add dif_configSander Vrijders2016-04-081-0/+3
| | | | | | | | | This adds dif_config to the prototype, in which one is able to specify the parameters a DIF should have. The bootstrap operation of an IPCP takes this as parameter and is oblivious to whether it is a shim or a normal IPCP. The dif_config struct is also correctly serialized and deserialized and passed opaquely to the correct IPCP. This IPCP is in charge of deserializing it correctly.
* lib: Implementation of flow related opsSander Vrijders2016-03-311-1/+1
| | | | | | This adds the messages that are sent to the IPCPs related to flows. Some messages are also sent to the IRMd (e.g. when a new flow arrives).
* lib, irmd: Update communication with IRMdSander Vrijders2016-03-301-1/+0
| | | | | All messages sent to the IRMd now also get a reply back with the result of the operation.
* lib: renamed rina_name_t to instance_name_tdimitri staessens2016-03-301-1/+0
| | | | | all functions taking a char * ap_name and uint id now take either a instance_name_t or instance_name_t *
* lib: Add ipcp_messages proto fileSander Vrijders2016-03-281-26/+8
| | | | | This removes the custom ser/des methods for communicating with the IPCP daemon and also uses GPB instead.
* lib, irmd: Use GPB for dev.c and IRMdSander Vrijders2016-03-281-47/+2
| | | | | IRMd and dev.c now also use GPB instead of our own ser/des. irm_msg struct has been dropped as well as the methods associated with it.
* lib: Update irm.h APISander Vrijders2016-03-281-0/+5
| | | | | | Removes rina_name_t from that API. Passing ap_name and api_id as params instead. The IRM tool has been updated accordingly. Some errors in the build related to protobuf-c have also been resolved.
* lib: Adds IRMd messages for the dev.h API callsSander Vrijders2016-03-241-3/+28
| | | | | | This adds several messages for the dev.h API calls to communicate with the IRM daemon. The deserializing of these messages is still missing and the irmd hasn't been updated with them either.
* lib: Add communication with IPCP daemonSander Vrijders2016-03-171-12/+38
| | | | | This adds the messages required for the IRMd to communicate with an IPC Process through the library.
* lib, irmd: Fix memleaksSander Vrijders2016-03-171-0/+2
| | | | | This removes some memleaks present in the sockets layer. It also fixes the bad initialization of the difs_size param in the irm_msg.
* lib: Add helpers for RINA namesSander Vrijders2016-03-111-0/+3
| | | | This adds helper functions for RINA names, to aid with handling them.
* include: Fixed missing 'struct', renamed dif_infoDimitri Staessens2016-03-031-1/+1
| | | | | common.h: dif_info renamed to dif_config missing struct fixed
* lib, irmd, tools: Provide more IRM messagesSander Vrijders2016-03-011-8/+8
| | | | | | | This provides the other messages that are used to communicate between the library and the IRM Daemon. The IRM tool just calls the library right now to see if it works. A full fledged program will be provided in a next commit.
* lib, irmd: Address Dimitri's commentsSander Vrijders2016-02-261-0/+5
| | | | This addresses several comments Dimitri had on the sockets layer code.
* lib, irmd, tools: Support to create IPCPsSander Vrijders2016-02-251-5/+8
| | | | | | | Provides the initial support to create IPCPs via a command-line tool. It extends the socket layer with a message that is sent over a socket to the irmd when the irm_create_ipcp library function is called from a program.
* lib: Initial messages for the IRMSander Vrijders2016-02-231-0/+46
This provides the initial messages to be passed between the irmd and libouroboros-irm.