Virtlab:Konzolový server
Z VirtlabWiki
Struktura zdrojových souborů
devices.c (.h)
používané struktury (zdrojový kód po mírné úpravě):
//popis jednoho zarizeni
struct DEVICE_T {
char devicename[DEV_ID_MAX_LENGTH];
int device_type;
int fd_for_tutor;
int fd_for_client;
union {
char serial_port_path[MAX_SERIAL_PATH];
TELNET_CONN telnet_data;
};
};
//polozka zretezeneho seznamu zarizeni
struct DEVICES_T {
DEVICE_T data;
struct devices_t *next;
};
Přehled funkcí:
DEVICES_T *add_device(DEVICE_T device, DEVICES_T **devs); int load_devices(const char *devs_file, DEVICES_T **devs); DEVICE_T *find_device_by_name(const char* devname, DEVICES_T *devs); int split_dev_id_location(char *dev_at_loc, char **dev, char **loc);
Funkce add_device přidá zařízení do seznamu. Prvnim parametrem je popis pridavaneho zarizeni, druhym pak ukazatel na "prvni zarizeni v aktualnim seznamu". Nove pridane zarizeni se zaradi na zacatek seznamu. Funkce vraci ukazatel na seznam.
domain.c
DOMAINS_T *add_domain(DOMAIN_T domain, DOMAINS_T **doms); int load_domains(const char *doms_file, DOMAINS_T **doms); DOMAIN_T *find_domain_by_name(const char* domname, DOMAINS_T *doms); DOMAIN_T *find_domain_by_ip(in_addr_t *ip, DOMAINS_T *doms);
