|
Teonet library
0.4.7
|
#include "ev_mgr.h"Go to the source code of this file.
Data Structures | |
| struct | ksnMultiClass |
| File: net_multi.h Author: Kirill Scherba kirill@scherba.ru More... | |
| struct | ksnMultiData |
| ksnMultiClass initialize input data More... | |
Macros | |
| #define | ksnMultiGet(X, Y) |
Typedefs | |
| typedef struct ksnMultiClass | ksnMultiClass |
| File: net_multi.h Author: Kirill Scherba kirill@scherba.ru More... | |
| typedef struct ksnMultiData | ksnMultiData |
| ksnMultiClass initialize input data More... | |
Functions | |
| ksnMultiClass * | ksnMultiInit (ksnMultiData *md, void *user_data) |
| Initialize ksnMultiClass object. More... | |
| void | teoMultiRun (ksnMultiClass *km) |
| Start teonet event loop (for all functions added with ksnMultiInit) More... | |
| void | ksnMultiDestroy (ksnMultiClass *km) |
| Destroy ksnMultiClass object and running networks. More... | |
| void | teoMultiAddNet (ksnMultiClass *km, ksn_event_cb_type e_cb, const char *host, int port, const char *network, void *user_data) |
| Add new network. More... | |
| void | teoMultiRemoveNet (ksnMultiClass *km, const char *network) |
| Remove network. More... | |
| ksnetEvMgrClass * | teoMultiGetByNumber (ksnMultiClass *km, int number) |
| Get network by number. More... | |
| ksnetEvMgrClass * | teoMultiGetByNetwork (ksnMultiClass *km, char *network_name) |
| Get network by network name. More... | |
| bool | teoMultiIsNetworkExist (ksnMultiClass *km, int number) |
| Check if network with input number is exist. More... | |
| char * | ksnMultiShowListStr (ksnMultiClass *km) |
| Show list of networks. More... | |
| ksnet_arp_data * | teoMultiSendCmdToNet (ksnMultiClass *km, char *peer, char *network, uint8_t cmd, void *data, size_t data_len) |
| Send command by name (or type) and by network. More... | |
| ksnet_arp_data * | ksnMultiSendCmdTo (ksnMultiClass *km, char *to, uint8_t cmd, void *data, size_t data_len) |
| : It will be new function for broadcast sending Send command by name to peer More... | |
| #define ksnMultiGet | ( | X, | |
| Y | |||
| ) |
Referenced by hotkeys_cb().
| typedef struct ksnMultiClass ksnMultiClass |
File: net_multi.h Author: Kirill Scherba kirill@scherba.ru
Created on July 23, 2015, 11:46 AM ksnMultiClass module data
| typedef struct ksnMultiData ksnMultiData |
ksnMultiClass initialize input data
| void ksnMultiDestroy | ( | ksnMultiClass * | km | ) |
Destroy ksnMultiClass object and running networks.
| km | Pointer to ksnMultiClass |
References free(), ksnetEvMgrFree(), ksnetEvMgrRestart(), ksnetEvMgrStop(), ksnMultiClass::last_net_idx, ksnMultiClass::list, and teoMultiGetByNumber().
Referenced by main(), and sigusr2_cb().
| ksnMultiClass* ksnMultiInit | ( | ksnMultiData * | md, |
| void * | user_data | ||
| ) |
Initialize ksnMultiClass object.
| md | Pointer to initialize input data |
| user_data | Pointer to user data added to every teonet network |
References ksnMultiData::argc, ksnMultiData::argv, ksnMultiData::event_cb, teonet_cfg::host_name, ke, ksnetEvMgrClass::km, KSN_BUFFER_SM_SIZE, KSN_MAX_HOST_NAME, ksnetEvMgrInitPort(), ksnetEvMgrRun(), ksnMultiClass::last_net_idx, ksnMultiClass::list, ksnMultiData::names, ksnMultiClass::net_count, ksnetEvMgrClass::net_count, ksnetEvMgrClass::net_idx, teonet_cfg::network, ksnMultiData::networks, ksnMultiData::num, teonet_cfg::port, ksnMultiData::ports, read_config(), READ_CONFIGURATION, READ_OPTIONS, ksnetEvMgrClass::teo_cfg, and teo_malloc().
Referenced by main().
| ksnet_arp_data* ksnMultiSendCmdTo | ( | ksnMultiClass * | km, |
| char * | to, | ||
| uint8_t | cmd, | ||
| void * | data, | ||
| size_t | data_len | ||
| ) |
: It will be new function for broadcast sending Send command by name to peer
| km | Pointer to ksnMultiClass |
| to | Recipient peer name |
| cmd | Command |
| data | Command data |
| data_len | Data length |
Referenced by ksnCoreSendCmdto().
| char* ksnMultiShowListStr | ( | ksnMultiClass * | km | ) |
Show list of networks.
| km | Pointer to ksnMultiClass |
References add_line, ke, ksnet_formatMessage(), ksnet_sformatMessage(), LIGHTCYAN, LIGHTGREEN, ksnMultiClass::list, and NONE.
Referenced by hotkeys_cb().
| void teoMultiAddNet | ( | ksnMultiClass * | km, |
| ksn_event_cb_type | e_cb, | ||
| const char * | host, | ||
| int | port, | ||
| const char * | network, | ||
| void * | user_data | ||
| ) |
Add new network.
| km | Pointer to ksnMultiClass |
| event_cb | Teonet event callback |
| host | Host name |
| port | Port number |
| network | Network name |
| user_data | Pointer to user data added to this teonet network |
References ksnetEvMgrClass::argc, ksnetEvMgrClass::argv, teonet_cfg::host_name, ksnetEvMgrClass::km, KSN_BUFFER_SM_SIZE, KSN_MAX_HOST_NAME, ksnetEvMgrInitPort(), ksnetEvMgrRun(), ksnMultiClass::last_net_idx, ksnMultiClass::list, ksnMultiClass::net_count, ksnetEvMgrClass::net_count, ksnetEvMgrClass::net_idx, teonet_cfg::network, teonet_cfg::port, read_config(), READ_CONFIGURATION, READ_OPTIONS, ksnetEvMgrClass::teo_cfg, and teoMultiGetByNumber().
Referenced by event_cb().
| ksnetEvMgrClass* teoMultiGetByNetwork | ( | ksnMultiClass * | km, |
| char * | network_name | ||
| ) |
Get network by network name.
| km | Pointer to ksnMultiClass |
| network_name | Network name |
References ke, and ksnMultiClass::list.
| ksnetEvMgrClass* teoMultiGetByNumber | ( | ksnMultiClass * | km, |
| int | number | ||
| ) |
Get network by number.
| km | Pointer to ksnMultiClass |
| num | Number of network |
References ke, and ksnMultiClass::list.
Referenced by ksnMultiDestroy(), teoMultiAddNet(), and teoMultiRun().
| bool teoMultiIsNetworkExist | ( | ksnMultiClass * | km, |
| int | number | ||
| ) |
Check if network with input number is exist.
| km | Pointer to ksnMultiClass |
| num | Number of network |
References ke, and ksnMultiClass::list.
Referenced by hotkeys_cb().
| void teoMultiRemoveNet | ( | ksnMultiClass * | km, |
| const char * | network | ||
| ) |
Remove network.
| km | Pointer to ksnMultiClass |
| network | Network name |
References free(), ke, ksnetEvMgrFree(), ksnetEvMgrStop(), ksnMultiClass::list, and ksnMultiClass::net_count.
| void teoMultiRun | ( | ksnMultiClass * | km | ) |
Start teonet event loop (for all functions added with ksnMultiInit)
| km | Pointer to ksnMultiClass |
References ksnetEvMgrClass::ev_loop, ksnMultiClass::last_net_idx, and teoMultiGetByNumber().
Referenced by main().
| ksnet_arp_data* teoMultiSendCmdToNet | ( | ksnMultiClass * | km, |
| char * | peer, | ||
| char * | network, | ||
| uint8_t | cmd, | ||
| void * | data, | ||
| size_t | data_len | ||
| ) |
Send command by name (or type) and by network.
| km | Pointer to ksnMultiClass |
| peer | Peer name |
| network | Network name |
| cmd | Command ID |
| data | Pointer to data |
| data_len | Data length |
References ke, ksnCoreSendCmdto(), and ksnMultiClass::list.