Changes in / [3aae4e8:9f10660f] in mainline
- Files:
-
- 119 added
- 137 deleted
- 58 edited
Legend:
- Unmodified
- Added
- Removed
-
HelenOS.config
r3aae4e8 r9f10660f 345 345 346 346 % Simics SMP Hack 347 ! [PROCESSOR=sun4v &CONFIG_SMP=y] CONFIG_SIMICS_SMP_HACK (n/y)347 ! [PROCESSOR=sun4v] CONFIG_SIMICS_SMP_HACK (y/n) 348 348 349 349 % Support for userspace debuggers … … 523 523 524 524 % Networking architecture 525 @ "none" No networking 525 526 @ "modular" Modular 526 527 @ "module" One module 527 528 ! CONFIG_NETWORKING (choice) 528 529 530 % DP8390 (NE2k) network interface 531 ! [CONFIG_NETWORKING=modular|CONFIG_NETWORKING=module] CONFIG_NETIF_DP8390 (y/n) 532 -
boot/Makefile.common
r3aae4e8 r9f10660f 58 58 $(USPACEDIR)/srv/fs/tmpfs/tmpfs \ 59 59 $(USPACEDIR)/srv/fs/fat/fat \ 60 $(USPACEDIR)/srv/taskmon/taskmon \ 61 $(USPACEDIR)/srv/hw/netif/dp8390/dp8390 \ 62 $(USPACEDIR)/srv/net/net/net \ 63 $(USPACEDIR)/srv/net/netstart/netstart \ 64 $(USPACEDIR)/srv/net/netif/lo/lo \ 65 $(USPACEDIR)/srv/net/nil/eth/eth \ 66 $(USPACEDIR)/srv/net/nil/nildummy/nildummy 60 $(USPACEDIR)/srv/taskmon/taskmon 67 61 68 62 RD_APPS = \ … … 77 71 $(USPACEDIR)/app/tester/tester \ 78 72 $(USPACEDIR)/app/tetris/tetris \ 79 $(USPACEDIR)/app/trace/trace \ 80 $(USPACEDIR)/app/netecho/netecho \ 81 $(USPACEDIR)/app/ping/ping \ 82 $(USPACEDIR)/app/nettest1/nettest1 \ 83 $(USPACEDIR)/app/nettest2/nettest2 73 $(USPACEDIR)/app/trace/trace 84 74 85 75 COMPONENTS = \ … … 98 88 endif 99 89 100 NET_CFG = \ 101 $(USPACEDIR)/srv/net/cfg/$(CONFIG_NETWORKING)/general \ 102 $(USPACEDIR)/srv/net/cfg/$(CONFIG_NETWORKING)/lo \ 103 $(USPACEDIR)/srv/net/cfg/$(CONFIG_NETWORKING)/ne2k 90 CFG = 104 91 105 ifeq ($(CONFIG_NETWORKING),modular) 106 RD_SRVS += \ 107 $(USPACEDIR)/srv/net/il/ip/ip \ 108 $(USPACEDIR)/srv/net/il/arp/arp \ 109 $(USPACEDIR)/srv/net/tl/udp/udp \ 110 $(USPACEDIR)/srv/net/tl/tcp/tcp \ 111 $(USPACEDIR)/srv/net/tl/icmp/icmp 92 NET_SRVS = \ 93 $(USPACEDIR)/srv/net/net/net \ 94 $(USPACEDIR)/srv/net/netif/lo/lo \ 95 $(USPACEDIR)/srv/net/nil/eth/eth \ 96 $(USPACEDIR)/srv/net/nil/nildummy/nildummy \ 97 $(USPACEDIR)/srv/net/app/echo/echo 98 99 NET_APPS = \ 100 $(USPACEDIR)/srv/net/net/start/netstart \ 101 $(USPACEDIR)/srv/net/app/ping/ping \ 102 $(USPACEDIR)/srv/net/app/nettest1/nettest1 \ 103 $(USPACEDIR)/srv/net/app/nettest2/nettest2 104 105 ifneq ($(CONFIG_NETWORKING),none) 106 NET_CFG = \ 107 $(USPACEDIR)/srv/net/cfg/$(CONFIG_NETWORKING)/general \ 108 $(USPACEDIR)/srv/net/cfg/$(CONFIG_NETWORKING)/lo 109 110 ifeq ($(CONFIG_NETIF_DP8390),y) 111 NET_SRVS += $(USPACEDIR)/srv/net/netif/dp8390/dp8390 112 NET_CFG += $(USPACEDIR)/srv/net/cfg/$(CONFIG_NETWORKING)/ne2k 113 endif 114 115 ifeq ($(CONFIG_NETWORKING),module) 116 RD_APPS += $(NET_APPS) 117 RD_SRVS += $(NET_SRVS) 118 CFG += $(NET_CFG) 119 endif 120 121 ifeq ($(CONFIG_NETWORKING),modular) 122 RD_APPS += $(NET_APPS) 123 RD_SRVS += $(NET_SRVS) 124 RD_SRVS += \ 125 $(USPACEDIR)/srv/net/il/ip/ip \ 126 $(USPACEDIR)/srv/net/il/arp/arp \ 127 $(USPACEDIR)/srv/net/tl/udp/udp \ 128 $(USPACEDIR)/srv/net/tl/tcp/tcp \ 129 $(USPACEDIR)/srv/net/tl/icmp/icmp 130 CFG += $(NET_CFG) 131 endif 112 132 endif -
defaults/arm32/Makefile.config
r3aae4e8 r9f10660f 39 39 40 40 # Default networking architecture 41 CONFIG_NETWORKING = modular41 CONFIG_NETWORKING = none -
defaults/mips32/Makefile.config
r3aae4e8 r9f10660f 45 45 46 46 # Default networking architecture 47 CONFIG_NETWORKING = modular47 CONFIG_NETWORKING = none -
defaults/ppc32/Makefile.config
r3aae4e8 r9f10660f 45 45 46 46 # Default networking architecture 47 CONFIG_NETWORKING = modular47 CONFIG_NETWORKING = none -
defaults/sparc64/sun4v/Makefile.config
r3aae4e8 r9f10660f 12 12 13 13 CONFIG_FB = n 14 15 CONFIG_NETWORKING = none -
defaults/special/Makefile.config
r3aae4e8 r9f10660f 28 28 # Load disk drivers on startup 29 29 CONFIG_START_BD = n 30 31 # Default networking architecture32 CONFIG_NETWORKING = modular -
defaults/special/abs32le/Makefile.config
r3aae4e8 r9f10660f 4 4 # Cross-compiler target 5 5 CROSS_TARGET = ia32 6 7 # Networking architecture 8 CONFIG_NETWORKING = none -
kernel/arch/amd64/src/amd64.c
r3aae4e8 r9f10660f 228 228 (uintptr_t) I8042_BASE); 229 229 #endif 230 231 /* 232 * This nasty hack should also go away ASAP. 233 */ 230 231 #ifdef CONFIG_NETIF_DP8390 234 232 trap_virtual_enable_irqs(1 << IRQ_DP8390); 235 233 sysinfo_set_item_val("netif.dp8390.inr", NULL, IRQ_DP8390); 234 #endif 236 235 } 237 236 -
kernel/arch/ia32/src/ia32.c
r3aae4e8 r9f10660f 186 186 (uintptr_t) I8042_BASE); 187 187 #endif 188 189 /* 190 * This nasty hack should also go away ASAP. 191 */ 188 189 #ifdef CONFIG_NETIF_DP8390 192 190 trap_virtual_enable_irqs(1 << IRQ_DP8390); 193 191 sysinfo_set_item_val("netif.dp8390.inr", NULL, IRQ_DP8390); 192 #endif 194 193 } 195 194 -
kernel/arch/ia64/src/ia64.c
r3aae4e8 r9f10660f 213 213 #endif 214 214 215 #ifdef CONFIG_NETIF_DP8390 215 216 sysinfo_set_item_val("netif.dp8390.inr", NULL, IRQ_DP8390); 217 #endif 216 218 217 219 sysinfo_set_item_val("ia64_iospace", NULL, true); -
kernel/arch/sparc64/src/smp/sun4v/smp.c
r3aae4e8 r9f10660f 54 54 #include <arch/smp/sun4v/smp.h> 55 55 #include <str.h> 56 #include <errno.h>57 56 58 57 /** hypervisor code of the "running" state of the CPU */ -
uspace/Makefile
r3aae4e8 r9f10660f 65 65 srv/hid/fb \ 66 66 srv/hid/kbd \ 67 srv/hw/char/i8042 \ 68 srv/hw/netif/dp8390 67 srv/hw/char/i8042 69 68 70 69 ## Platform-specific hardware support … … 96 95 # 97 96 97 ifeq ($(CONFIG_NETIF_DP8390),y) 98 DIRS += srv/net/netif/dp8390 99 endif 100 98 101 NETWORKING_COMMON = \ 99 102 srv/net/netif/lo \ … … 101 104 srv/net/nil/nildummy \ 102 105 srv/net/net \ 103 srv/net/netstart \ 104 app/netecho \ 105 app/nettest1 \ 106 app/nettest2 \ 107 app/ping 106 srv/net/net/start \ 107 srv/net/socket \ 108 srv/net/app/echo \ 109 srv/net/app/ping \ 110 srv/net/app/nettest1 \ 111 srv/net/app/nettest2 108 112 109 113 NETWORKING_MODULAR = \ … … 124 128 lib/softint \ 125 129 lib/softfloat \ 126 lib/socket \127 lib/net \128 lib/netif129 130 130 131 ifeq ($(UARCH),amd64) … … 148 149 endif 149 150 151 ifeq ($(CONFIG_NETWORKING),none) 152 BUILDS := $(addsuffix .build,$(DIRS)) 153 endif 154 150 155 CLEANS := $(addsuffix .clean,$(DIRS)) $(addsuffix .clean,$(NETWORKING_COMMON)) $(addsuffix .clean,$(NETWORKING_MODULAR)) $(addsuffix .clean,$(LIBS)) $(addsuffix .clean,$(LIBC)) 151 156 -
uspace/Makefile.common
r3aae4e8 r9f10660f 77 77 78 78 LIB_PREFIX = $(USPACE_PREFIX)/lib 79 LIBC_PREFIX = $(USPACE_PREFIX)/lib/c 80 LIBBLOCK_PREFIX = $(USPACE_PREFIX)/lib/block 81 LIBFS_PREFIX = $(USPACE_PREFIX)/lib/fs 82 LIBPCI_PREFIX = $(USPACE_PREFIX)/lib/pci 83 SOFTFLOAT_PREFIX = $(USPACE_PREFIX)/lib/softfloat 84 SOFTINT_PREFIX = $(USPACE_PREFIX)/lib/softint 79 85 80 LIBC_PREFIX = $(LIB_PREFIX)/c 81 LIBSOFTFLOAT_PREFIX = $(LIB_PREFIX)/softfloat 82 LIBSOFTINT_PREFIX = $(LIB_PREFIX)/softint 83 84 LIBBLOCK_PREFIX = $(LIB_PREFIX)/block 85 LIBFS_PREFIX = $(LIB_PREFIX)/fs 86 LIBCLUI_PREFIX = $(LIB_PREFIX)/clui 87 88 LIBPCI_PREFIX = $(LIB_PREFIX)/pci 89 90 LIBSOCKET_PREFIX = $(LIB_PREFIX)/socket 91 LIBNET_PREFIX = $(LIB_PREFIX)/net 92 LIBNETIF_PREFIX = $(LIB_PREFIX)/netif 93 94 BASE_LIBS = $(LIBC_PREFIX)/libc.a $(LIBSOFTINT_PREFIX)/libsoftint.a 86 BASE_LIBS = $(LIBC_PREFIX)/libc.a $(SOFTINT_PREFIX)/libsoftint.a 95 87 96 88 LINKER_SCRIPT ?= $(LIBC_PREFIX)/arch/$(UARCH)/_link.ld -
uspace/app/bdsh/Makefile
r3aae4e8 r9f10660f 29 29 30 30 USPACE_PREFIX = ../.. 31 LIBS = $(LIB BLOCK_PREFIX)/libblock.a $(LIBCLUI_PREFIX)/libclui.a32 EXTRA_CFLAGS = -I$(LIB BLOCK_PREFIX) -I$(LIBCLUI_PREFIX)-I. -Icmds/ \33 31 LIBS = $(LIB_PREFIX)/block/libblock.a $(LIB_PREFIX)/clui/libclui.a 32 EXTRA_CFLAGS = -I$(LIB_PREFIX)/block -I$(LIB_PREFIX)/clui -I. -Icmds/ \ 33 -Icmds/builtins -Icmds/modules 34 34 BINARY = bdsh 35 35 -
uspace/app/bdsh/input.c
r3aae4e8 r9f10660f 50 50 #include "errors.h" 51 51 #include "exec.h" 52 53 extern volatile unsigned int cli_quit;54 52 55 53 /** Text input field. */ … … 109 107 { 110 108 char *str; 111 int rc;112 109 113 110 fflush(stdout); … … 117 114 console_set_style(fphone(stdout), STYLE_NORMAL); 118 115 119 rc = tinput_read(tinput, &str); 120 if (rc == ENOENT) { 121 /* User requested exit */ 122 cli_quit = 1; 123 putchar('\n'); 124 return; 125 } 126 127 if (rc != EOK) { 128 /* Error in communication with console */ 129 return; 130 } 116 str = tinput_read(tinput); 131 117 132 118 /* Check for empty input. */ -
uspace/app/bdsh/scli.c
r3aae4e8 r9f10660f 100 100 } 101 101 } 102 goto finit; 102 103 103 printf("Leaving %s.\n", progname); 104 104 finit: 105 105 cli_finit(&usr); 106 106 return ret; -
uspace/app/sbi/Makefile
r3aae4e8 r9f10660f 28 28 29 29 USPACE_PREFIX = ../.. 30 LIBS = $(LIB CLUI_PREFIX)/libclui.a31 EXTRA_CFLAGS = -D__HELENOS__ -I$(LIB CLUI_PREFIX)30 LIBS = $(LIB_PREFIX)/clui/libclui.a 31 EXTRA_CFLAGS = -D__HELENOS__ -I$(LIB_PREFIX)/clui 32 32 33 33 BINARY = sbi -
uspace/app/sbi/src/os/helenos.c
r3aae4e8 r9f10660f 105 105 { 106 106 char *line; 107 int rc;108 107 109 108 if (tinput == NULL) { … … 113 112 } 114 113 115 rc = tinput_read(tinput, &line); 116 if (rc == ENOENT) { 117 /* User-requested abort */ 118 *ptr = os_str_dup(""); 119 return EOK; 120 } 121 122 if (rc != EOK) { 123 /* Error in communication with console */ 114 line = tinput_read(tinput); 115 if (line == NULL) 124 116 return EIO; 125 }126 117 127 118 /* XXX Input module needs trailing newline to keep going. */ -
uspace/lib/clui/tinput.c
r3aae4e8 r9f10660f 513 513 } 514 514 515 /** Read in one line of input. 516 * 517 * @param ti Text input. 518 * @param dstr Place to save pointer to new string. 519 * @return EOK on success, ENOENT if user requested abort, EIO 520 * if communication with console failed. 521 */ 522 int tinput_read(tinput_t *ti, char **dstr) 515 /** Read in one line of input. */ 516 char *tinput_read(tinput_t *ti) 523 517 { 524 518 console_event_t ev; … … 528 522 529 523 if (console_get_size(fphone(stdin), &ti->con_cols, &ti->con_rows) != EOK) 530 return EIO;524 return NULL; 531 525 if (console_get_pos(fphone(stdin), &ti->col0, &ti->row0) != EOK) 532 return EIO;526 return NULL; 533 527 534 528 ti->pos = ti->sel_start = 0; … … 536 530 ti->buffer[0] = '\0'; 537 531 ti->done = false; 538 ti->exit_clui = false;539 532 540 533 while (!ti->done) { 541 534 fflush(stdout); 542 535 if (!console_get_event(fphone(stdin), &ev)) 543 return EIO;536 return NULL; 544 537 545 538 if (ev.type != KEY_PRESS) … … 572 565 } 573 566 574 if (ti->exit_clui)575 return ENOENT;576 577 567 ti->pos = ti->nc; 578 568 tinput_position_caret(ti); … … 585 575 ti->hpos = 0; 586 576 587 *dstr = str; 588 return EOK; 577 return str; 589 578 } 590 579 … … 617 606 case KC_A: 618 607 tinput_sel_all(ti); 619 break;620 case KC_Q:621 /* Signal libary client to quit interactive loop. */622 ti->done = true;623 ti->exit_clui = true;624 608 break; 625 609 default: -
uspace/lib/clui/tinput.h
r3aae4e8 r9f10660f 64 64 /** Current position in history */ 65 65 int hpos; 66 /** @c true if finished with this line (return to caller)*/66 /** Exit flag */ 67 67 bool done; 68 /** @c true if user requested to abort interactive loop */69 bool exit_clui;70 68 } tinput_t; 71 69 72 70 extern tinput_t *tinput_new(void); 73 71 extern void tinput_destroy(tinput_t *ti); 74 extern int tinput_read(tinput_t *ti, char **str);72 extern char *tinput_read(tinput_t *ti); 75 73 76 74 #endif -
uspace/srv/net/il/arp/Makefile
r3aae4e8 r9f10660f 28 28 # 29 29 30 NET_BASE = ../.. 30 31 USPACE_PREFIX = ../../../.. 31 LIBS = $(LIBNET_PREFIX)/libnet.a $(LIBSOCKET_PREFIX)/libsocket.a32 EXTRA_CFLAGS = -I$(LIBNET_PREFIX)/include -I$(LIBSOCKET_PREFIX)/include33 32 BINARY = arp 34 33 35 34 SOURCES = \ 36 35 arp.c \ 37 arp_module.c 36 arp_module.c \ 37 $(NET_BASE)/module.c \ 38 $(NET_BASE)/modules.c \ 39 $(NET_BASE)/net/net_remote.c \ 40 $(NET_BASE)/nil/nil_remote.c \ 41 $(NET_BASE)/structures/char_map.c \ 42 $(NET_BASE)/structures/measured_strings.c \ 43 $(NET_BASE)/structures/packet/packet.c \ 44 $(NET_BASE)/structures/packet/packet_client.c \ 45 $(NET_BASE)/structures/packet/packet_remote.c 38 46 39 47 include $(USPACE_PREFIX)/Makefile.common -
uspace/srv/net/il/arp/arp.c
r3aae4e8 r9f10660f 43 43 #include <str.h> 44 44 #include <task.h> 45 45 46 #include <ipc/ipc.h> 46 47 #include <ipc/services.h> 47 48 48 #include <net_err.h> 49 #include <net_messages.h> 50 #include <net_modules.h> 51 #include <net_byteorder.h> 52 #include <net_device.h> 53 #include <arp_interface.h> 54 #include <nil_interface.h> 55 #include <protocol_map.h> 56 #include <adt/measured_strings.h> 57 #include <packet/packet.h> 58 #include <packet/packet_client.h> 59 #include <il_messages.h> 60 #include <arp_messages.h> 49 #include "../../err.h" 50 #include "../../messages.h" 51 #include "../../modules.h" 52 53 #include "../../include/byteorder.h" 54 #include "../../include/device.h" 55 #include "../../include/arp_interface.h" 56 #include "../../include/nil_interface.h" 57 #include "../../include/protocol_map.h" 58 59 #include "../../structures/measured_strings.h" 60 #include "../../structures/packet/packet.h" 61 #include "../../structures/packet/packet_client.h" 62 63 #include "../il_messages.h" 61 64 62 65 #include "arp.h" … … 64 67 #include "arp_oc.h" 65 68 #include "arp_module.h" 66 67 68 /** ARP module name. 69 */ 70 #define NAME "ARP protocol" 69 #include "arp_messages.h" 71 70 72 71 /** ARP global data. … … 619 618 } 620 619 621 #ifdef CONFIG_NETWORKING_modular622 623 #include <il_standalone.h>624 625 /** Default thread for new connections.626 *627 * @param[in] iid The initial message identifier.628 * @param[in] icall The initial message call structure.629 *630 */631 static void il_client_connection(ipc_callid_t iid, ipc_call_t * icall)632 {633 /*634 * Accept the connection635 * - Answer the first IPC_M_CONNECT_ME_TO call.636 */637 ipc_answer_0(iid, EOK);638 639 while(true) {640 ipc_call_t answer;641 int answer_count;642 643 /* Clear the answer structure */644 refresh_answer(&answer, &answer_count);645 646 /* Fetch the next message */647 ipc_call_t call;648 ipc_callid_t callid = async_get_call(&call);649 650 /* Process the message */651 int res = il_module_message(callid, &call, &answer, &answer_count);652 653 /* End if said to either by the message or the processing result */654 if ((IPC_GET_METHOD(call) == IPC_M_PHONE_HUNGUP) || (res == EHANGUP))655 return;656 657 /* Answer the message */658 answer_call(callid, res, &answer, answer_count);659 }660 }661 662 /** Starts the module.663 *664 * @param argc The count of the command line arguments. Ignored parameter.665 * @param argv The command line parameters. Ignored parameter.666 *667 * @returns EOK on success.668 * @returns Other error codes as defined for each specific module start function.669 *670 */671 int main(int argc, char *argv[])672 {673 ERROR_DECLARE;674 675 /* Print the module label */676 printf("Task %d - %s\n", task_get_id(), NAME);677 678 /* Start the module */679 if (ERROR_OCCURRED(il_module_start(il_client_connection))) {680 printf(" - ERROR %i\n", ERROR_CODE);681 return ERROR_CODE;682 }683 684 return EOK;685 }686 687 #endif /* CONFIG_NETWORKING_modular */688 689 620 /** @} 690 621 */ -
uspace/srv/net/il/arp/arp.h
r3aae4e8 r9f10660f 43 43 #include <ipc/services.h> 44 44 45 #include <net_device.h> 46 #include <net_hardware.h> 47 #include <adt/generic_char_map.h> 48 #include <adt/int_map.h> 49 #include <adt/measured_strings.h> 45 #include "../../include/device.h" 46 #include "../../include/hardware.h" 47 48 #include "../../structures/generic_char_map.h" 49 #include "../../structures/int_map.h" 50 #include "../../structures/measured_strings.h" 50 51 51 52 -
uspace/srv/net/il/arp/arp_module.c
r3aae4e8 r9f10660f 44 44 #include <ipc/services.h> 45 45 46 #include <net_err.h> 47 #include <net_modules.h> 48 #include <net_interface.h> 49 #include <packet/packet.h> 50 #include <il_standalone.h> 46 #include "../../err.h" 47 #include "../../modules.h" 48 49 #include "../../include/net_interface.h" 50 51 #include "../../structures/packet/packet.h" 51 52 52 53 #include "arp.h" 53 54 #include "arp_module.h" 55 56 /** ARP module name. 57 */ 58 #define NAME "ARP protocol" 54 59 55 60 /** ARP module global data. … … 65 70 * @returns Other error codes as defined for the arp_message() function. 66 71 */ 67 int il_module_message(ipc_callid_t callid, ipc_call_t * call, ipc_call_t * answer, int * answer_count){ 68 return arp_message(callid, call, answer, answer_count); 69 } 72 int module_message(ipc_callid_t callid, ipc_call_t * call, ipc_call_t * answer, int * answer_count); 73 74 /** Prints the module name. 75 * @see NAME 76 */ 77 void module_print_name(void); 70 78 71 79 /** Starts the ARP module. … … 76 84 * @returns Other error codes as defined for the REGISTER_ME() macro function. 77 85 */ 78 int il_module_start(async_client_conn_t client_connection){ 86 int module_start(async_client_conn_t client_connection); 87 88 int module_message(ipc_callid_t callid, ipc_call_t * call, ipc_call_t * answer, int * answer_count){ 89 return arp_message(callid, call, answer, answer_count); 90 } 91 92 void module_print_name(void){ 93 printf("%s", NAME); 94 } 95 96 int module_start(async_client_conn_t client_connection){ 79 97 ERROR_DECLARE; 80 98 -
uspace/srv/net/il/ip/Makefile
r3aae4e8 r9f10660f 28 28 # 29 29 30 NET_BASE = ../.. 30 31 USPACE_PREFIX = ../../../.. 31 LIBS = $(LIBNET_PREFIX)/libnet.a $(LIBSOCKET_PREFIX)/libsocket.a32 EXTRA_CFLAGS = -I$(LIBNET_PREFIX)/include -I$(LIBSOCKET_PREFIX)/include33 32 BINARY = ip 34 33 35 34 SOURCES = \ 36 35 ip.c \ 37 ip_module.c 36 ip_client.c \ 37 ip_module.c \ 38 $(NET_BASE)/checksum.c \ 39 $(NET_BASE)/inet.c \ 40 $(NET_BASE)/module.c \ 41 $(NET_BASE)/modules.c \ 42 $(NET_BASE)/il/arp/arp_remote.c \ 43 $(NET_BASE)/nil/nil_remote.c \ 44 $(NET_BASE)/net/net_remote.c \ 45 $(NET_BASE)/tl/icmp/icmp_client.c \ 46 $(NET_BASE)/tl/icmp/icmp_common.c \ 47 $(NET_BASE)/tl/icmp/icmp_remote.c \ 48 $(NET_BASE)/structures/char_map.c \ 49 $(NET_BASE)/structures/measured_strings.c \ 50 $(NET_BASE)/structures/module_map.c \ 51 $(NET_BASE)/structures/packet/packet.c \ 52 $(NET_BASE)/structures/packet/packet_client.c \ 53 $(NET_BASE)/structures/packet/packet_remote.c 38 54 39 55 include $(USPACE_PREFIX)/Makefile.common -
uspace/srv/net/il/ip/ip.c
r3aae4e8 r9f10660f 41 41 #include <stdio.h> 42 42 #include <str.h> 43 43 44 #include <ipc/ipc.h> 44 45 #include <ipc/services.h> 46 45 47 #include <sys/types.h> 46 48 47 #include <net_err.h> 48 #include <net_messages.h> 49 #include <net_modules.h> 50 #include <arp_interface.h> 51 #include <net_byteorder.h> 52 #include <net_checksum.h> 53 #include <net_device.h> 54 #include <icmp_client.h> 55 #include <icmp_codes.h> 56 #include <icmp_interface.h> 57 #include <il_interface.h> 58 #include <in.h> 59 #include <in6.h> 60 #include <inet.h> 61 #include <ip_client.h> 62 #include <ip_interface.h> 63 #include <net_interface.h> 64 #include <nil_interface.h> 65 #include <tl_interface.h> 66 #include <socket_codes.h> 67 #include <socket_errno.h> 68 #include <adt/measured_strings.h> 69 #include <adt/module_map.h> 70 #include <packet/packet_client.h> 71 #include <nil_messages.h> 72 #include <il_messages.h> 49 #include "../../err.h" 50 #include "../../messages.h" 51 #include "../../modules.h" 52 53 #include "../../include/arp_interface.h" 54 #include "../../include/byteorder.h" 55 #include "../../include/checksum.h" 56 #include "../../include/device.h" 57 #include "../../include/icmp_client.h" 58 #include "../../include/icmp_codes.h" 59 #include "../../include/icmp_interface.h" 60 #include "../../include/il_interface.h" 61 #include "../../include/in.h" 62 #include "../../include/in6.h" 63 #include "../../include/inet.h" 64 #include "../../include/ip_client.h" 65 #include "../../include/ip_interface.h" 66 #include "../../include/net_interface.h" 67 #include "../../include/nil_interface.h" 68 #include "../../include/tl_interface.h" 69 #include "../../include/socket_codes.h" 70 #include "../../include/socket_errno.h" 71 #include "../../structures/measured_strings.h" 72 #include "../../structures/module_map.h" 73 #include "../../structures/packet/packet_client.h" 74 75 #include "../../nil/nil_messages.h" 76 77 #include "../il_messages.h" 73 78 74 79 #include "ip.h" … … 76 81 #include "ip_messages.h" 77 82 #include "ip_module.h" 78 79 /** IP module name.80 */81 #define NAME "IP protocol"82 83 83 84 /** IP version 4. … … 1623 1624 } 1624 1625 1625 #ifdef CONFIG_NETWORKING_modular1626 1627 #include <il_standalone.h>1628 1629 /** Default thread for new connections.1630 *1631 * @param[in] iid The initial message identifier.1632 * @param[in] icall The initial message call structure.1633 *1634 */1635 static void il_client_connection(ipc_callid_t iid, ipc_call_t * icall)1636 {1637 /*1638 * Accept the connection1639 * - Answer the first IPC_M_CONNECT_ME_TO call.1640 */1641 ipc_answer_0(iid, EOK);1642 1643 while(true) {1644 ipc_call_t answer;1645 int answer_count;1646 1647 /* Clear the answer structure */1648 refresh_answer(&answer, &answer_count);1649 1650 /* Fetch the next message */1651 ipc_call_t call;1652 ipc_callid_t callid = async_get_call(&call);1653 1654 /* Process the message */1655 int res = il_module_message(callid, &call, &answer, &answer_count);1656 1657 /* End if said to either by the message or the processing result */1658 if ((IPC_GET_METHOD(call) == IPC_M_PHONE_HUNGUP) || (res == EHANGUP))1659 return;1660 1661 /* Answer the message */1662 answer_call(callid, res, &answer, answer_count);1663 }1664 }1665 1666 /** Starts the module.1667 *1668 * @param argc The count of the command line arguments. Ignored parameter.1669 * @param argv The command line parameters. Ignored parameter.1670 *1671 * @returns EOK on success.1672 * @returns Other error codes as defined for each specific module start function.1673 *1674 */1675 int main(int argc, char *argv[])1676 {1677 ERROR_DECLARE;1678 1679 /* Print the module label */1680 printf("Task %d - %s\n", task_get_id(), NAME);1681 1682 /* Start the module */1683 if (ERROR_OCCURRED(il_module_start(il_client_connection))) {1684 printf(" - ERROR %i\n", ERROR_CODE);1685 return ERROR_CODE;1686 }1687 1688 return EOK;1689 }1690 1691 #endif /* CONFIG_NETWORKING_modular */1692 1693 1626 /** @} 1694 1627 */ -
uspace/srv/net/il/ip/ip.h
r3aae4e8 r9f10660f 39 39 40 40 #include <fibril_synch.h> 41 41 42 #include <ipc/ipc.h> 42 43 #include <ipc/services.h> 43 44 44 #include <net_device.h> 45 #include <inet.h> 46 #include <ip_interface.h> 47 #include <adt/int_map.h> 48 #include <adt/generic_field.h> 49 #include <adt/module_map.h> 45 #include "../../include/device.h" 46 #include "../../include/inet.h" 47 #include "../../include/ip_interface.h" 48 49 #include "../../structures/int_map.h" 50 #include "../../structures/generic_field.h" 51 #include "../../structures/module_map.h" 50 52 51 53 /** Type definition of the IP global data. -
uspace/srv/net/il/ip/ip_module.c
r3aae4e8 r9f10660f 40 40 #include <async.h> 41 41 #include <stdio.h> 42 42 43 #include <ipc/ipc.h> 43 44 #include <ipc/services.h> 44 45 45 #include <net_err.h> 46 #include <net_modules.h> 47 #include <net_interface.h> 48 #include <packet/packet.h> 49 #include <il_standalone.h> 46 #include "../../err.h" 47 #include "../../modules.h" 48 49 #include "../../include/net_interface.h" 50 51 #include "../../structures/packet/packet.h" 50 52 51 53 #include "ip.h" 52 54 #include "ip_module.h" 55 56 /** IP module name. 57 */ 58 #define NAME "IP protocol" 53 59 54 60 /** IP module global data. … … 64 70 * @returns Other error codes as defined for the ip_message() function. 65 71 */ 66 int il_module_message(ipc_callid_t callid, ipc_call_t * call, ipc_call_t * answer, int * answer_count){ 67 return ip_message(callid, call, answer, answer_count); 68 } 72 int module_message(ipc_callid_t callid, ipc_call_t * call, ipc_call_t * answer, int * answer_count); 73 74 /** Prints the module name. 75 * @see NAME 76 */ 77 void module_print_name(void); 69 78 70 79 /** Starts the IP module. … … 75 84 * @returns Other error codes as defined for the REGISTER_ME() macro function. 76 85 */ 77 int il_module_start(async_client_conn_t client_connection){ 86 int module_start(async_client_conn_t client_connection); 87 88 int module_message(ipc_callid_t callid, ipc_call_t * call, ipc_call_t * answer, int * answer_count){ 89 return ip_message(callid, call, answer, answer_count); 90 } 91 92 void module_print_name(void){ 93 printf("%s", NAME); 94 } 95 96 int module_start(async_client_conn_t client_connection){ 78 97 ERROR_DECLARE; 79 98 -
uspace/srv/net/net/Makefile
r3aae4e8 r9f10660f 28 28 # 29 29 30 NET_BASE = .. 30 31 USPACE_PREFIX = ../../.. 31 32 ROOT_PATH = $(USPACE_PREFIX)/.. 32 LIBS = $(LIBNETIF_PREFIX)/libnetif.a $(LIBNET_PREFIX)/libnet.a $(LIBSOCKET_PREFIX)/libsocket.a33 EXTRA_CFLAGS = -I$(LIBNETIF_PREFIX)/include -I$(LIBNET_PREFIX)/include -I$(LIBSOCKET_PREFIX)/include34 33 35 34 COMMON_MAKEFILE = $(ROOT_PATH)/Makefile.common 36 35 CONFIG_MAKEFILE = $(ROOT_PATH)/Makefile.config 37 36 37 BINARY = net 38 38 39 -include $(COMMON_MAKEFILE) 39 40 -include $(CONFIG_MAKEFILE) 40 41 41 BINARY = net42 43 42 SOURCES = \ 44 43 net.c \ 45 net_standalone.c 44 $(NET_BASE)/module.c \ 45 $(NET_BASE)/modules.c \ 46 $(NET_BASE)/netif/netif_remote.c \ 47 $(NET_BASE)/structures/char_map.c \ 48 $(NET_BASE)/structures/measured_strings.c \ 49 $(NET_BASE)/structures/module_map.c \ 50 $(NET_BASE)/structures/packet/packet.c \ 51 $(NET_BASE)/structures/packet/packet_client.c \ 52 $(NET_BASE)/structures/packet/packet_server.c 53 54 ifeq ($(CONFIG_NETWORKING),module) 55 SOURCES += \ 56 net_bundle.c \ 57 $(NET_BASE)/checksum.c \ 58 $(NET_BASE)/inet.c \ 59 $(NET_BASE)/il/arp/arp.c \ 60 $(NET_BASE)/il/ip/ip.c \ 61 $(NET_BASE)/il/ip/ip_client.c \ 62 $(NET_BASE)/socket/socket_core.c \ 63 $(NET_BASE)/tl/icmp/icmp.c \ 64 $(NET_BASE)/tl/icmp/icmp_client.c \ 65 $(NET_BASE)/tl/tcp/tcp.c \ 66 $(NET_BASE)/tl/tl_common.c \ 67 $(NET_BASE)/tl/udp/udp.c \ 68 $(NET_BASE)/structures/dynamic_fifo.c 69 endif 70 71 ifeq ($(CONFIG_NETWORKING),modular) 72 SOURCES += \ 73 net_standalone.c \ 74 $(NET_BASE)/il/ip/ip_remote.c 75 endif 46 76 47 77 include $(USPACE_PREFIX)/Makefile.common -
uspace/srv/net/net/net.c
r3aae4e8 r9f10660f 46 46 #include <ipc/services.h> 47 47 48 #include <net_err.h> 49 #include <net_messages.h> 50 #include <net_modules.h> 51 #include <adt/char_map.h> 52 #include <adt/generic_char_map.h> 53 #include <adt/measured_strings.h> 54 #include <adt/module_map.h> 55 #include <packet/packet.h> 56 #include <il_messages.h> 57 #include <net_device.h> 58 #include <netif_interface.h> 59 #include <nil_interface.h> 60 #include <net_interface.h> 61 #include <ip_interface.h> 62 #include <net_net_messages.h> 48 #include "../err.h" 49 #include "../messages.h" 50 #include "../modules.h" 51 52 #include "../structures/char_map.h" 53 #include "../structures/generic_char_map.h" 54 #include "../structures/measured_strings.h" 55 #include "../structures/module_map.h" 56 #include "../structures/packet/packet.h" 57 58 #include "../il/il_messages.h" 59 #include "../include/device.h" 60 #include "../include/netif_interface.h" 61 #include "../include/nil_interface.h" 62 #include "../include/net_interface.h" 63 #include "../include/ip_interface.h" 63 64 64 65 #include "net.h" 66 #include "net_messages.h" 65 67 66 68 /** File read buffer size. … … 80 82 */ 81 83 device_id_t generate_new_device_id(void); 84 85 /** Prints the module name. 86 * @see NAME 87 */ 88 void module_print_name(void); 89 90 /** Starts the networking module. 91 * Initializes the client connection serving function, initializes the module, registers the module service and starts the async manager, processing IPC messages in an infinite loop. 92 * @param[in] client_connection The client connection processing function. The module skeleton propagates its own one. 93 * @returns EOK on successful module termination. 94 * @returns Other error codes as defined for the net_initialize() function. 95 * @returns Other error codes as defined for the REGISTER_ME() macro function. 96 */ 97 int module_start(async_client_conn_t client_connection); 82 98 83 99 /** Returns the configured values. … … 169 185 } 170 186 171 /** Starts the networking module. 172 * Initializes the client connection serving function, initializes the module, registers the module service and starts the async manager, processing IPC messages in an infinite loop. 173 * @param[in] client_connection The client connection processing function. The module skeleton propagates its own one. 174 * @returns EOK on successful module termination. 175 * @returns Other error codes as defined for the net_initialize() function. 176 * @returns Other error codes as defined for the REGISTER_ME() macro function. 177 */ 178 static int net_module_start(async_client_conn_t client_connection){ 187 void module_print_name(void){ 188 printf("%s", NAME); 189 } 190 191 int module_start(async_client_conn_t client_connection){ 179 192 ERROR_DECLARE; 180 193 … … 498 511 ERROR_DECLARE; 499 512 513 #ifdef CONFIG_NETIF_DP8390 500 514 const char * conf_files[] = {"lo", "ne2k"}; 515 #else 516 const char * conf_files[] = {"lo"}; 517 #endif 501 518 502 519 int count = sizeof(conf_files) / sizeof(char *); … … 563 580 } 564 581 565 /** Default thread for new connections.566 *567 * @param[in] iid The initial message identifier.568 * @param[in] icall The initial message call structure.569 *570 */571 static void net_client_connection(ipc_callid_t iid, ipc_call_t * icall)572 {573 /*574 * Accept the connection575 * - Answer the first IPC_M_CONNECT_ME_TO call.576 */577 ipc_answer_0(iid, EOK);578 579 while(true) {580 ipc_call_t answer;581 int answer_count;582 583 /* Clear the answer structure */584 refresh_answer(&answer, &answer_count);585 586 /* Fetch the next message */587 ipc_call_t call;588 ipc_callid_t callid = async_get_call(&call);589 590 /* Process the message */591 int res = net_module_message(callid, &call, &answer, &answer_count);592 593 /* End if said to either by the message or the processing result */594 if ((IPC_GET_METHOD(call) == IPC_M_PHONE_HUNGUP) || (res == EHANGUP))595 return;596 597 /* Answer the message */598 answer_call(callid, res, &answer, answer_count);599 }600 }601 602 /** Starts the module.603 *604 * @param argc The count of the command line arguments. Ignored parameter.605 * @param argv The command line parameters. Ignored parameter.606 *607 * @returns EOK on success.608 * @returns Other error codes as defined for each specific module start function.609 *610 */611 int main(int argc, char *argv[])612 {613 ERROR_DECLARE;614 615 /* Print the module label */616 printf("Task %d - %s\n", task_get_id(), NAME);617 618 /* Start the module */619 if (ERROR_OCCURRED(net_module_start(net_client_connection))) {620 printf(" - ERROR %i\n", ERROR_CODE);621 return ERROR_CODE;622 }623 624 return EOK;625 }626 627 582 /** @} 628 583 */ -
uspace/srv/net/net/net.h
r3aae4e8 r9f10660f 40 40 #include <ipc/ipc.h> 41 41 42 #include <net_device.h> 43 #include <adt/char_map.h> 44 #include <adt/generic_char_map.h> 45 #include <adt/measured_strings.h> 46 #include <adt/module_map.h> 47 #include <packet/packet.h> 42 #include "../include/device.h" 43 44 #include "../structures/char_map.h" 45 #include "../structures/generic_char_map.h" 46 #include "../structures/measured_strings.h" 47 #include "../structures/module_map.h" 48 #include "../structures/packet/packet.h" 48 49 49 50 /** @name Modules definitions … … 221 222 * @returns Other error codes as defined for each bundled module message function. 222 223 */ 223 int net_module_message(ipc_callid_t callid, ipc_call_t * call, ipc_call_t * answer, int * answer_count);224 int module_message(ipc_callid_t callid, ipc_call_t * call, ipc_call_t * answer, int * answer_count); 224 225 225 226 /** Initializes the networking module for the chosen subsystem build type. -
uspace/srv/net/net/net_bundle.c
r3aae4e8 r9f10660f 79 79 } 80 80 81 int net_module_message(ipc_callid_t callid, ipc_call_t * call, ipc_call_t * answer, int * answer_count){81 int module_message(ipc_callid_t callid, ipc_call_t * call, ipc_call_t * answer, int * answer_count){ 82 82 if((IPC_GET_METHOD(*call) == IPC_M_CONNECT_TO_ME) 83 83 || IS_NET_IL_MESSAGE(call) -
uspace/srv/net/net/net_standalone.c
r3aae4e8 r9f10660f 39 39 #include <ipc/ipc.h> 40 40 41 #include <net_messages.h> 42 #include <ip_interface.h> 43 #include <adt/measured_strings.h> 44 #include <adt/module_map.h> 45 #include <packet/packet_server.h> 41 #include "../messages.h" 42 43 #include "../include/ip_interface.h" 44 45 #include "../structures/measured_strings.h" 46 #include "../structures/module_map.h" 47 #include "../structures/packet/packet_server.h" 46 48 47 49 #include "net.h" … … 73 75 } 74 76 75 int net_module_message(ipc_callid_t callid, ipc_call_t * call, ipc_call_t * answer, int * answer_count){77 int module_message(ipc_callid_t callid, ipc_call_t * call, ipc_call_t * answer, int * answer_count){ 76 78 if(IS_NET_PACKET_MESSAGE(call)){ 77 79 return packet_server_message(callid, call, answer, answer_count); -
uspace/srv/net/netif/lo/Makefile
r3aae4e8 r9f10660f 28 28 # 29 29 30 NET_BASE = ../.. 30 31 USPACE_PREFIX = ../../../.. 31 32 ROOT_PATH = $(USPACE_PREFIX)/.. 32 LIBS = $(LIBNET_PREFIX)/libnet.a $(LIBSOCKET_PREFIX)/libsocket.a33 EXTRA_CFLAGS = -I$(LIBNET_PREFIX)/include -I$(LIBSOCKET_PREFIX)/include34 33 35 34 COMMON_MAKEFILE = $(ROOT_PATH)/Makefile.common 36 35 CONFIG_MAKEFILE = $(ROOT_PATH)/Makefile.config 37 36 37 BINARY = lo 38 38 39 -include $(COMMON_MAKEFILE) 39 40 -include $(CONFIG_MAKEFILE) 40 41 41 ifeq ($(CONFIG_NETWORKING),modular) 42 BINARY = lo 42 SOURCES = \ 43 lo.c \ 44 $(NET_BASE)/module.c \ 45 $(NET_BASE)/modules.c \ 46 $(NET_BASE)/net/net_remote.c \ 47 $(NET_BASE)/netif/netif.c \ 48 $(NET_BASE)/structures/measured_strings.c \ 49 $(NET_BASE)/structures/packet/packet.c \ 50 $(NET_BASE)/structures/packet/packet_client.c \ 51 $(NET_BASE)/structures/packet/packet_remote.c 52 53 ifeq ($(CONFIG_NETWORKING),module) 54 SOURCES += \ 55 $(NET_BASE)/nil/nildummy/nildummy.c \ 56 $(NET_BASE)/netif/netif_nil_bundle.c 43 57 endif 44 58 45 ifeq ($(CONFIG_NETWORKING),module) 46 LIBRARY = liblo 59 ifeq ($(CONFIG_NETWORKING),modular) 60 SOURCES += \ 61 $(NET_BASE)/nil/nil_remote.c \ 62 $(NET_BASE)/netif/netif_standalone.c 47 63 endif 48 64 49 SOURCES = \50 lo.c51 52 65 include $(USPACE_PREFIX)/Makefile.common -
uspace/srv/net/netif/lo/lo.c
r3aae4e8 r9f10660f 43 43 #include <ipc/services.h> 44 44 45 #include <net_err.h> 46 #include <net_messages.h> 47 #include <net_modules.h> 48 #include <adt/measured_strings.h> 49 #include <packet/packet_client.h> 50 #include <net_device.h> 51 #include <nil_interface.h> 52 #include <nil_messages.h> 53 #include <netif.h> 54 #include <netif_module.h> 45 #include "../../err.h" 46 #include "../../messages.h" 47 #include "../../modules.h" 48 49 #include "../../structures/measured_strings.h" 50 #include "../../structures/packet/packet_client.h" 51 52 #include "../../include/device.h" 53 #include "../../include/nil_interface.h" 54 55 #include "../../nil/nil_messages.h" 56 57 #include "../netif.h" 58 #include "../netif_module.h" 55 59 56 60 /** Default hardware address. … … 86 90 */ 87 91 int create(device_id_t device_id, device_ref * device); 92 93 /** Prints the module name. 94 * @see NAME 95 */ 96 void module_print_name(void); 88 97 89 98 int netif_specific_message(ipc_callid_t callid, ipc_call_t * call, ipc_call_t * answer, int * answer_count){ … … 158 167 } 159 168 169 void module_print_name(void){ 170 printf("%s", NAME); 171 } 172 160 173 int netif_probe_message(device_id_t device_id, int irq, uintptr_t io){ 161 174 ERROR_DECLARE; … … 207 220 } 208 221 209 #ifdef CONFIG_NETWORKING_modular210 211 #include <netif_standalone.h>212 213 /** Default thread for new connections.214 *215 * @param[in] iid The initial message identifier.216 * @param[in] icall The initial message call structure.217 *218 */219 static void netif_client_connection(ipc_callid_t iid, ipc_call_t * icall)220 {221 /*222 * Accept the connection223 * - Answer the first IPC_M_CONNECT_ME_TO call.224 */225 ipc_answer_0(iid, EOK);226 227 while(true) {228 ipc_call_t answer;229 int answer_count;230 231 /* Clear the answer structure */232 refresh_answer(&answer, &answer_count);233 234 /* Fetch the next message */235 ipc_call_t call;236 ipc_callid_t callid = async_get_call(&call);237 238 /* Process the message */239 int res = netif_module_message(callid, &call, &answer, &answer_count);240 241 /* End if said to either by the message or the processing result */242 if ((IPC_GET_METHOD(call) == IPC_M_PHONE_HUNGUP) || (res == EHANGUP))243 return;244 245 /* Answer the message */246 answer_call(callid, res, &answer, answer_count);247 }248 }249 250 /** Starts the module.251 *252 * @param argc The count of the command line arguments. Ignored parameter.253 * @param argv The command line parameters. Ignored parameter.254 *255 * @returns EOK on success.256 * @returns Other error codes as defined for each specific module start function.257 *258 */259 int main(int argc, char *argv[])260 {261 ERROR_DECLARE;262 263 /* Print the module label */264 printf("Task %d - %s\n", task_get_id(), NAME);265 266 /* Start the module */267 if (ERROR_OCCURRED(netif_module_start(netif_client_connection))) {268 printf(" - ERROR %i\n", ERROR_CODE);269 return ERROR_CODE;270 }271 272 return EOK;273 }274 275 #endif /* CONFIG_NETWORKING_modular */276 277 222 /** @} 278 223 */ -
uspace/srv/net/nil/eth/Makefile
r3aae4e8 r9f10660f 28 28 # 29 29 30 NET_BASE = ../.. 30 31 USPACE_PREFIX = ../../../.. 31 LIBS = $(LIBNETIF_PREFIX)/libnetif.a $(LIBNET_PREFIX)/libnet.a $(LIBSOCKET_PREFIX)/libsocket.a32 EXTRA_CFLAGS = -I$(LIBNETIF_PREFIX)/include -I$(LIBNET_PREFIX)/include -I$(LIBSOCKET_PREFIX)/include33 32 BINARY = eth 34 33 35 34 SOURCES = \ 36 35 eth.c \ 37 eth_module.c 36 eth_module.c \ 37 $(NET_BASE)/checksum.c \ 38 $(NET_BASE)/module.c \ 39 $(NET_BASE)/modules.c \ 40 $(NET_BASE)/net/net_remote.c \ 41 $(NET_BASE)/netif/netif_remote.c \ 42 $(NET_BASE)/structures/measured_strings.c \ 43 $(NET_BASE)/structures/packet/packet.c \ 44 $(NET_BASE)/structures/packet/packet_client.c \ 45 $(NET_BASE)/structures/packet/packet_remote.c 38 46 39 47 include $(USPACE_PREFIX)/Makefile.common -
uspace/srv/net/nil/eth/eth.c
r3aae4e8 r9f10660f 45 45 #include <ipc/services.h> 46 46 47 #include <net_err.h> 48 #include <net_messages.h> 49 #include <net_modules.h> 50 #include <net_byteorder.h> 51 #include <net_checksum.h> 52 #include <ethernet_lsap.h> 53 #include <ethernet_protocols.h> 54 #include <protocol_map.h> 55 #include <net_device.h> 56 #include <netif_interface.h> 57 #include <net_interface.h> 58 #include <nil_interface.h> 59 #include <il_interface.h> 60 #include <adt/measured_strings.h> 61 #include <packet/packet_client.h> 47 #include "../../err.h" 48 #include "../../messages.h" 49 #include "../../modules.h" 50 51 #include "../../include/byteorder.h" 52 #include "../../include/checksum.h" 53 #include "../../include/ethernet_lsap.h" 54 #include "../../include/ethernet_protocols.h" 55 #include "../../include/protocol_map.h" 56 #include "../../include/device.h" 57 #include "../../include/netif_interface.h" 58 #include "../../include/net_interface.h" 59 #include "../../include/nil_interface.h" 60 #include "../../include/il_interface.h" 61 62 #include "../../structures/measured_strings.h" 63 #include "../../structures/packet/packet_client.h" 64 65 #include "../nil_module.h" 62 66 63 67 #include "eth.h" 64 68 #include "eth_header.h" 65 66 /** The module name.67 */68 #define NAME "Ethernet protocol"69 69 70 70 /** Reserved packet prefix length. … … 769 769 } 770 770 771 #ifdef CONFIG_NETWORKING_modular772 773 #include <nil_standalone.h>774 775 /** Default thread for new connections.776 *777 * @param[in] iid The initial message identifier.778 * @param[in] icall The initial message call structure.779 *780 */781 static void nil_client_connection(ipc_callid_t iid, ipc_call_t * icall)782 {783 /*784 * Accept the connection785 * - Answer the first IPC_M_CONNECT_ME_TO call.786 */787 ipc_answer_0(iid, EOK);788 789 while(true) {790 ipc_call_t answer;791 int answer_count;792 793 /* Clear the answer structure */794 refresh_answer(&answer, &answer_count);795 796 /* Fetch the next message */797 ipc_call_t call;798 ipc_callid_t callid = async_get_call(&call);799 800 /* Process the message */801 int res = nil_module_message(callid, &call, &answer, &answer_count);802 803 /* End if said to either by the message or the processing result */804 if ((IPC_GET_METHOD(call) == IPC_M_PHONE_HUNGUP) || (res == EHANGUP))805 return;806 807 /* Answer the message */808 answer_call(callid, res, &answer, answer_count);809 }810 }811 812 /** Starts the module.813 *814 * @param argc The count of the command line arguments. Ignored parameter.815 * @param argv The command line parameters. Ignored parameter.816 *817 * @returns EOK on success.818 * @returns Other error codes as defined for each specific module start function.819 *820 */821 int main(int argc, char *argv[])822 {823 ERROR_DECLARE;824 825 /* Print the module label */826 printf("Task %d - %s\n", task_get_id(), NAME);827 828 /* Start the module */829 if (ERROR_OCCURRED(nil_module_start(nil_client_connection))) {830 printf(" - ERROR %i\n", ERROR_CODE);831 return ERROR_CODE;832 }833 834 return EOK;835 }836 837 #endif /* CONFIG_NETWORKING_modular */838 839 771 /** @} 840 772 */ -
uspace/srv/net/nil/eth/eth.h
r3aae4e8 r9f10660f 41 41 #include <ipc/services.h> 42 42 43 #include <net_device.h>44 #include <adt/measured_strings.h>43 #include "../../include/device.h" 44 #include "../../structures/measured_strings.h" 45 45 46 46 /** Type definition of the Ethernet global data. … … 147 147 }; 148 148 149 /** Module initialization.150 * Is called by the module_start() function.151 * @param[in] net_phone The networking moduel phone.152 * @returns EOK on success.153 * @returns Other error codes as defined for each specific module initialize function.154 */155 extern int nil_initialize(int net_phone);156 157 /** Message processing function.158 * @param[in] callid The message identifier.159 * @param[in] call The message parameters.160 * @param[out] answer The message answer parameters.161 * @param[out] answer_count The last parameter for the actual answer in the answer parameter.162 * @returns EOK on success.163 * @returns ENOTSUP if the message is not known.164 * @returns Other error codes as defined for each specific module message function.165 * @see nil_interface.h166 * @see IS_NET_NIL_MESSAGE()167 */168 extern int nil_message(ipc_callid_t callid, ipc_call_t * call, ipc_call_t * answer, int * answer_count);169 170 149 #endif 171 150 -
uspace/srv/net/nil/eth/eth_module.c
r3aae4e8 r9f10660f 42 42 #include <ipc/services.h> 43 43 44 #include <net_err.h> 45 #include <net_modules.h> 46 #include <net_interface.h> 47 #include <packet/packet.h> 48 #include <nil_standalone.h> 44 #include "../../err.h" 45 #include "../../modules.h" 46 47 #include "../../include/net_interface.h" 48 49 #include "../../structures/packet/packet.h" 50 51 #include "../nil_module.h" 49 52 50 53 #include "eth.h" 54 55 /** The module name. 56 */ 57 #define NAME "Ethernet protocol" 58 59 /** Prints the module name. 60 */ 61 void module_print_name(void); 51 62 52 63 /** Starts the Ethernet module. … … 58 69 * @returns Other error codes as defined for the REGISTER_ME() macro function. 59 70 */ 60 int nil_module_start(async_client_conn_t client_connection){ 71 int module_start(async_client_conn_t client_connection); 72 73 /** Passes the parameters to the module specific nil_message() function. 74 * @param[in] callid The message identifier. 75 * @param[in] call The message parameters. 76 * @param[out] answer The message answer parameters. 77 * @param[out] answer_count The last parameter for the actual answer in the answer parameter. 78 * @returns EOK on success. 79 * @returns ENOTSUP if the message is not known. 80 * @returns Other error codes as defined for each specific module message function. 81 */ 82 int module_message(ipc_callid_t callid, ipc_call_t * call, ipc_call_t * answer, int * answer_count); 83 84 void module_print_name(void){ 85 printf("%s", NAME); 86 } 87 88 int module_start(async_client_conn_t client_connection){ 61 89 ERROR_DECLARE; 62 90 … … 79 107 } 80 108 81 /** Passes the parameters to the module specific nil_message() function. 82 * @param[in] callid The message identifier. 83 * @param[in] call The message parameters. 84 * @param[out] answer The message answer parameters. 85 * @param[out] answer_count The last parameter for the actual answer in the answer parameter. 86 * @returns EOK on success. 87 * @returns ENOTSUP if the message is not known. 88 * @returns Other error codes as defined for each specific module message function. 89 */ 90 int nil_module_message(ipc_callid_t callid, ipc_call_t * call, ipc_call_t * answer, int * answer_count){ 109 int module_message(ipc_callid_t callid, ipc_call_t * call, ipc_call_t * answer, int * answer_count){ 91 110 return nil_message(callid, call, answer, answer_count); 92 111 } -
uspace/srv/net/nil/nildummy/Makefile
r3aae4e8 r9f10660f 28 28 # 29 29 30 NET_BASE = ../.. 30 31 USPACE_PREFIX = ../../../.. 31 LIBS = $(LIBNETIF_PREFIX)/libnetif.a $(LIBNET_PREFIX)/libnet.a $(LIBSOCKET_PREFIX)/libsocket.a32 EXTRA_CFLAGS = -I$(LIBNETIF_PREFIX)/include -I$(LIBNET_PREFIX)/include -I$(LIBSOCKET_PREFIX)/include33 32 BINARY = nildummy 34 33 35 34 SOURCES = \ 36 35 nildummy.c \ 37 nildummy_module.c 36 nildummy_module.c \ 37 $(NET_BASE)/module.c \ 38 $(NET_BASE)/modules.c \ 39 $(NET_BASE)/net/net_remote.c \ 40 $(NET_BASE)/netif/netif_remote.c \ 41 $(NET_BASE)/structures/measured_strings.c \ 42 $(NET_BASE)/structures/packet/packet.c \ 43 $(NET_BASE)/structures/packet/packet_client.c \ 44 $(NET_BASE)/structures/packet/packet_remote.c 38 45 39 46 include $(USPACE_PREFIX)/Makefile.common -
uspace/srv/net/nil/nildummy/nildummy.c
r3aae4e8 r9f10660f 45 45 #include <ipc/services.h> 46 46 47 #include <net_err.h> 48 #include <net_messages.h> 49 #include <net_modules.h> 50 #include <net_device.h> 51 #include <netif_interface.h> 52 #include <nil_interface.h> 53 #include <il_interface.h> 54 #include <adt/measured_strings.h> 55 #include <packet/packet.h> 56 #include <nil_module.h> 47 #include "../../err.h" 48 #include "../../messages.h" 49 #include "../../modules.h" 50 51 #include "../../include/device.h" 52 #include "../../include/netif_interface.h" 53 #include "../../include/nil_interface.h" 54 #include "../../include/il_interface.h" 55 56 #include "../../structures/measured_strings.h" 57 #include "../../structures/packet/packet.h" 58 59 #include "../nil_module.h" 57 60 58 61 #include "nildummy.h" 59 60 /** The module name.61 */62 #define NAME "Dummy nil protocol"63 62 64 63 /** Default maximum transmission unit. … … 374 373 } 375 374 376 #ifdef CONFIG_NETWORKING_modular377 378 #include <nil_standalone.h>379 380 /** Default thread for new connections.381 *382 * @param[in] iid The initial message identifier.383 * @param[in] icall The initial message call structure.384 *385 */386 static void nil_client_connection(ipc_callid_t iid, ipc_call_t * icall)387 {388 /*389 * Accept the connection390 * - Answer the first IPC_M_CONNECT_ME_TO call.391 */392 ipc_answer_0(iid, EOK);393 394 while(true) {395 ipc_call_t answer;396 int answer_count;397 398 /* Clear the answer structure */399 refresh_answer(&answer, &answer_count);400 401 /* Fetch the next message */402 ipc_call_t call;403 ipc_callid_t callid = async_get_call(&call);404 405 /* Process the message */406 int res = nil_module_message(callid, &call, &answer, &answer_count);407 408 /* End if said to either by the message or the processing result */409 if ((IPC_GET_METHOD(call) == IPC_M_PHONE_HUNGUP) || (res == EHANGUP))410 return;411 412 /* Answer the message */413 answer_call(callid, res, &answer, answer_count);414 }415 }416 417 /** Starts the module.418 *419 * @param argc The count of the command line arguments. Ignored parameter.420 * @param argv The command line parameters. Ignored parameter.421 *422 * @returns EOK on success.423 * @returns Other error codes as defined for each specific module start function.424 *425 */426 int main(int argc, char *argv[])427 {428 ERROR_DECLARE;429 430 /* Print the module label */431 printf("Task %d - %s\n", task_get_id(), NAME);432 433 /* Start the module */434 if (ERROR_OCCURRED(nil_module_start(nil_client_connection))) {435 printf(" - ERROR %i\n", ERROR_CODE);436 return ERROR_CODE;437 }438 439 return EOK;440 }441 442 #endif /* CONFIG_NETWORKING_modular */443 444 375 /** @} 445 376 */ -
uspace/srv/net/nil/nildummy/nildummy.h
r3aae4e8 r9f10660f 41 41 #include <ipc/services.h> 42 42 43 #include <net_device.h>44 #include <adt/measured_strings.h>43 #include "../../include/device.h" 44 #include "../../structures/measured_strings.h" 45 45 46 46 /** Type definition of the dummy nil global data. -
uspace/srv/net/nil/nildummy/nildummy_module.c
r3aae4e8 r9f10660f 42 42 #include <ipc/services.h> 43 43 44 #include <net_err.h> 45 #include <net_modules.h> 46 #include <net_interface.h> 47 #include <packet/packet.h> 48 #include <nil_module.h> 49 #include <nil_standalone.h> 44 #include "../../err.h" 45 #include "../../modules.h" 46 47 #include "../../include/net_interface.h" 48 49 #include "../../structures/packet/packet.h" 50 51 #include "../nil_module.h" 50 52 51 53 #include "nildummy.h" 54 55 /** The module name. 56 */ 57 #define NAME "Dummy nil protocol" 58 59 /** Prints the module name. 60 */ 61 void module_print_name(void); 52 62 53 63 /** Starts the dummy nil module. … … 59 69 * @returns Other error codes as defined for the REGISTER_ME() macro function. 60 70 */ 61 int nil_module_start(async_client_conn_t client_connection){ 71 int module_start(async_client_conn_t client_connection); 72 73 /** Passes the parameters to the module specific nil_message() function. 74 * @param[in] callid The message identifier. 75 * @param[in] call The message parameters. 76 * @param[out] answer The message answer parameters. 77 * @param[out] answer_count The last parameter for the actual answer in the answer parameter. 78 * @returns EOK on success. 79 * @returns ENOTSUP if the message is not known. 80 * @returns Other error codes as defined for each specific module message function. 81 */ 82 int module_message(ipc_callid_t callid, ipc_call_t * call, ipc_call_t * answer, int * answer_count); 83 84 void module_print_name(void){ 85 printf("%s", NAME); 86 } 87 88 int module_start(async_client_conn_t client_connection){ 62 89 ERROR_DECLARE; 63 90 … … 80 107 } 81 108 82 /** Passes the parameters to the module specific nil_message() function. 83 * @param[in] callid The message identifier. 84 * @param[in] call The message parameters. 85 * @param[out] answer The message answer parameters. 86 * @param[out] answer_count The last parameter for the actual answer in the answer parameter. 87 * @returns EOK on success. 88 * @returns ENOTSUP if the message is not known. 89 * @returns Other error codes as defined for each specific module message function. 90 */ 91 int nil_module_message(ipc_callid_t callid, ipc_call_t * call, ipc_call_t * answer, int * answer_count){ 109 int module_message(ipc_callid_t callid, ipc_call_t * call, ipc_call_t * answer, int * answer_count){ 92 110 return nil_message(callid, call, answer, answer_count); 93 111 } -
uspace/srv/net/tl/icmp/Makefile
r3aae4e8 r9f10660f 28 28 # 29 29 30 NET_BASE = ../.. 30 31 USPACE_PREFIX = ../../../.. 31 LIBS = $(LIBNET_PREFIX)/libnet.a $(LIBSOCKET_PREFIX)/libsocket.a32 EXTRA_CFLAGS = -I$(LIBNET_PREFIX)/include -I$(LIBSOCKET_PREFIX)/include33 32 BINARY = icmp 34 33 35 34 SOURCES = \ 36 35 icmp.c \ 37 icmp_module.c 36 icmp_module.c \ 37 icmp_client.c \ 38 $(NET_BASE)/checksum.c \ 39 $(NET_BASE)/module.c \ 40 $(NET_BASE)/modules.c \ 41 $(NET_BASE)/il/ip/ip_client.c \ 42 $(NET_BASE)/il/ip/ip_remote.c \ 43 $(NET_BASE)/net/net_remote.c \ 44 $(NET_BASE)/structures/measured_strings.c \ 45 $(NET_BASE)/structures/packet/packet.c \ 46 $(NET_BASE)/structures/packet/packet_client.c \ 47 $(NET_BASE)/structures/packet/packet_remote.c 38 48 39 49 include $(USPACE_PREFIX)/Makefile.common -
uspace/srv/net/tl/icmp/icmp.c
r3aae4e8 r9f10660f 42 42 #include <stdint.h> 43 43 #include <str.h> 44 44 45 #include <ipc/ipc.h> 45 46 #include <ipc/services.h> 47 46 48 #include <sys/time.h> 47 49 #include <sys/types.h> 48 50 49 #include <net_err.h> 50 #include <net_messages.h> 51 #include <net_modules.h> 52 #include <packet/packet_client.h> 53 #include <net_byteorder.h> 54 #include <net_checksum.h> 55 #include <icmp_api.h> 56 #include <icmp_client.h> 57 #include <icmp_codes.h> 58 #include <icmp_common.h> 59 #include <icmp_interface.h> 60 #include <il_interface.h> 61 #include <inet.h> 62 #include <ip_client.h> 63 #include <ip_interface.h> 64 #include <ip_protocols.h> 65 #include <net_interface.h> 66 #include <socket_codes.h> 67 #include <socket_errno.h> 68 #include <tl_messages.h> 69 #include <icmp_messages.h> 70 #include <icmp_header.h> 51 #include "../../err.h" 52 #include "../../messages.h" 53 #include "../../modules.h" 54 55 #include "../../structures/packet/packet_client.h" 56 57 #include "../../include/byteorder.h" 58 #include "../../include/checksum.h" 59 #include "../../include/icmp_api.h" 60 #include "../../include/icmp_client.h" 61 #include "../../include/icmp_codes.h" 62 #include "../../include/icmp_common.h" 63 #include "../../include/icmp_interface.h" 64 #include "../../include/il_interface.h" 65 #include "../../include/inet.h" 66 #include "../../include/ip_client.h" 67 #include "../../include/ip_interface.h" 68 #include "../../include/ip_protocols.h" 69 #include "../../include/net_interface.h" 70 #include "../../include/socket_codes.h" 71 #include "../../include/socket_errno.h" 72 73 #include "../../tl/tl_messages.h" 71 74 72 75 #include "icmp.h" 76 #include "icmp_header.h" 77 #include "icmp_messages.h" 73 78 #include "icmp_module.h" 74 75 /** ICMP module name.76 */77 #define NAME "ICMP protocol"78 79 79 80 /** Default ICMP error reporting. … … 819 820 } 820 821 821 #ifdef CONFIG_NETWORKING_modular822 823 #include <tl_standalone.h>824 825 /** Default thread for new connections.826 *827 * @param[in] iid The initial message identifier.828 * @param[in] icall The initial message call structure.829 *830 */831 static void tl_client_connection(ipc_callid_t iid, ipc_call_t * icall)832 {833 /*834 * Accept the connection835 * - Answer the first IPC_M_CONNECT_ME_TO call.836 */837 ipc_answer_0(iid, EOK);838 839 while(true) {840 ipc_call_t answer;841 int answer_count;842 843 /* Clear the answer structure */844 refresh_answer(&answer, &answer_count);845 846 /* Fetch the next message */847 ipc_call_t call;848 ipc_callid_t callid = async_get_call(&call);849 850 /* Process the message */851 int res = tl_module_message(callid, &call, &answer, &answer_count);852 853 /* End if said to either by the message or the processing result */854 if ((IPC_GET_METHOD(call) == IPC_M_PHONE_HUNGUP) || (res == EHANGUP))855 return;856 857 /* Answer the message */858 answer_call(callid, res, &answer, answer_count);859 }860 }861 862 /** Starts the module.863 *864 * @param argc The count of the command line arguments. Ignored parameter.865 * @param argv The command line parameters. Ignored parameter.866 *867 * @returns EOK on success.868 * @returns Other error codes as defined for each specific module start function.869 *870 */871 int main(int argc, char *argv[])872 {873 ERROR_DECLARE;874 875 /* Print the module label */876 printf("Task %d - %s\n", task_get_id(), NAME);877 878 /* Start the module */879 if (ERROR_OCCURRED(tl_module_start(tl_client_connection))) {880 printf(" - ERROR %i\n", ERROR_CODE);881 return ERROR_CODE;882 }883 884 return EOK;885 }886 887 #endif /* CONFIG_NETWORKING_modular */888 889 822 /** @} 890 823 */ -
uspace/srv/net/tl/icmp/icmp.h
r3aae4e8 r9f10660f 40 40 #include <fibril_synch.h> 41 41 42 #include <icmp_codes.h> 43 #include <adt/int_map.h> 44 #include <icmp_header.h> 42 #include "../../include/icmp_codes.h" 43 44 #include "../../structures/int_map.h" 45 46 #include "icmp_header.h" 45 47 46 48 /** Type definition of the ICMP reply data. -
uspace/srv/net/tl/icmp/icmp_module.c
r3aae4e8 r9f10660f 40 40 #include <async.h> 41 41 #include <stdio.h> 42 42 43 #include <ipc/ipc.h> 43 44 #include <ipc/services.h> 44 45 45 #include <net_err.h> 46 #include <net_modules.h> 47 #include <packet/packet.h> 48 #include <net_interface.h> 49 #include <tl_standalone.h> 46 #include "../../err.h" 47 #include "../../modules.h" 48 49 #include "../../structures/packet/packet.h" 50 51 #include "../../include/net_interface.h" 50 52 51 53 #include "icmp.h" 52 54 #include "icmp_module.h" 53 55 54 /** ICMP module global data.56 /** ICMP module name. 55 57 */ 56 extern icmp_globals_t icmp_globals; 58 #define NAME "ICMP protocol" 59 60 /** Prints the module name. 61 * @see NAME 62 */ 63 void module_print_name(void); 57 64 58 65 /** Starts the ICMP module. … … 63 70 * @returns Other error codes as defined for the REGISTER_ME() macro function. 64 71 */ 65 int tl_module_start(async_client_conn_t client_connection){ 72 int module_start(async_client_conn_t client_connection); 73 74 /** Processes the ICMP message. 75 * @param[in] callid The message identifier. 76 * @param[in] call The message parameters. 77 * @param[out] answer The message answer parameters. 78 * @param[out] answer_count The last parameter for the actual answer in the answer parameter. 79 * @returns EOK on success. 80 * @returns Other error codes as defined for the icmp_message() function. 81 */ 82 int module_message(ipc_callid_t callid, ipc_call_t * call, ipc_call_t * answer, int * answer_count); 83 84 /** ICMP module global data. 85 */ 86 extern icmp_globals_t icmp_globals; 87 88 void module_print_name(void){ 89 printf("%s", NAME); 90 } 91 92 int module_start(async_client_conn_t client_connection){ 66 93 ERROR_DECLARE; 67 94 … … 86 113 } 87 114 88 /** Processes the ICMP message. 89 * @param[in] callid The message identifier. 90 * @param[in] call The message parameters. 91 * @param[out] answer The message answer parameters. 92 * @param[out] answer_count The last parameter for the actual answer in the answer parameter. 93 * @returns EOK on success. 94 * @returns Other error codes as defined for the icmp_message() function. 95 */ 96 int tl_module_message(ipc_callid_t callid, ipc_call_t * call, ipc_call_t * answer, int * answer_count){ 115 int module_message(ipc_callid_t callid, ipc_call_t * call, ipc_call_t * answer, int * answer_count){ 97 116 return icmp_message(callid, call, answer, answer_count); 98 117 } -
uspace/srv/net/tl/tcp/Makefile
r3aae4e8 r9f10660f 28 28 # 29 29 30 NET_BASE = ../.. 30 31 USPACE_PREFIX = ../../../.. 31 LIBS = $(LIBNET_PREFIX)/libnet.a $(LIBSOCKET_PREFIX)/libsocket.a32 EXTRA_CFLAGS = -I$(LIBNET_PREFIX)/include -I$(LIBSOCKET_PREFIX)/include33 32 BINARY = tcp 34 33 35 34 SOURCES = \ 36 35 tcp.c \ 37 tcp_module.c 36 tcp_module.c \ 37 $(NET_BASE)/checksum.c \ 38 $(NET_BASE)/module.c \ 39 $(NET_BASE)/modules.c \ 40 $(NET_BASE)/il/ip/ip_client.c \ 41 $(NET_BASE)/il/ip/ip_remote.c \ 42 $(NET_BASE)/net/net_remote.c \ 43 $(NET_BASE)/socket/socket_core.c \ 44 $(NET_BASE)/tl/icmp/icmp_client.c \ 45 $(NET_BASE)/tl/icmp/icmp_common.c \ 46 $(NET_BASE)/tl/icmp/icmp_remote.c \ 47 $(NET_BASE)/tl/tl_common.c \ 48 $(NET_BASE)/structures/char_map.c \ 49 $(NET_BASE)/structures/dynamic_fifo.c \ 50 $(NET_BASE)/structures/measured_strings.c \ 51 $(NET_BASE)/structures/packet/packet.c \ 52 $(NET_BASE)/structures/packet/packet_client.c \ 53 $(NET_BASE)/structures/packet/packet_remote.c 38 54 39 55 include $(USPACE_PREFIX)/Makefile.common -
uspace/srv/net/tl/tcp/tcp.c
r3aae4e8 r9f10660f 46 46 #include <ipc/services.h> 47 47 48 #include <net_err.h> 49 #include <net_messages.h> 50 #include <net_modules.h> 51 #include <adt/dynamic_fifo.h> 52 #include <packet/packet_client.h> 53 #include <net_checksum.h> 54 #include <in.h> 55 #include <in6.h> 56 #include <inet.h> 57 #include <ip_client.h> 58 #include <ip_interface.h> 59 #include <ip_protocols.h> 60 #include <icmp_client.h> 61 #include <icmp_interface.h> 62 #include <net_interface.h> 63 #include <socket_codes.h> 64 #include <socket_errno.h> 65 #include <tcp_codes.h> 66 #include <socket_core.h> 67 #include <socket_messages.h> 68 #include <tl_common.h> 69 #include <tl_messages.h> 48 #include "../../err.h" 49 #include "../../messages.h" 50 #include "../../modules.h" 51 52 #include "../../structures/dynamic_fifo.h" 53 #include "../../structures/packet/packet_client.h" 54 55 #include "../../include/checksum.h" 56 #include "../../include/in.h" 57 #include "../../include/in6.h" 58 #include "../../include/inet.h" 59 #include "../../include/ip_client.h" 60 #include "../../include/ip_interface.h" 61 #include "../../include/ip_protocols.h" 62 #include "../../include/icmp_client.h" 63 #include "../../include/icmp_interface.h" 64 #include "../../include/net_interface.h" 65 #include "../../include/socket_codes.h" 66 #include "../../include/socket_errno.h" 67 #include "../../include/tcp_codes.h" 68 69 #include "../../socket/socket_core.h" 70 #include "../../socket/socket_messages.h" 71 72 #include "../tl_common.h" 73 #include "../tl_messages.h" 70 74 71 75 #include "tcp.h" 72 76 #include "tcp_header.h" 73 77 #include "tcp_module.h" 74 75 /** TCP module name.76 */77 #define NAME "TCP protocol"78 78 79 79 /** The TCP window default value. … … 1997 1997 } 1998 1998 1999 #ifdef CONFIG_NETWORKING_modular2000 2001 #include <tl_standalone.h>2002 2003 /** Default thread for new connections.2004 *2005 * @param[in] iid The initial message identifier.2006 * @param[in] icall The initial message call structure.2007 *2008 */2009 static void tl_client_connection(ipc_callid_t iid, ipc_call_t * icall)2010 {2011 /*2012 * Accept the connection2013 * - Answer the first IPC_M_CONNECT_ME_TO call.2014 */2015 ipc_answer_0(iid, EOK);2016 2017 while(true) {2018 ipc_call_t answer;2019 int answer_count;2020 2021 /* Clear the answer structure */2022 refresh_answer(&answer, &answer_count);2023 2024 /* Fetch the next message */2025 ipc_call_t call;2026 ipc_callid_t callid = async_get_call(&call);2027 2028 /* Process the message */2029 int res = tl_module_message(callid, &call, &answer, &answer_count);2030 2031 /* End if said to either by the message or the processing result */2032 if ((IPC_GET_METHOD(call) == IPC_M_PHONE_HUNGUP) || (res == EHANGUP))2033 return;2034 2035 /* Answer the message */2036 answer_call(callid, res, &answer, answer_count);2037 }2038 }2039 2040 /** Starts the module.2041 *2042 * @param argc The count of the command line arguments. Ignored parameter.2043 * @param argv The command line parameters. Ignored parameter.2044 *2045 * @returns EOK on success.2046 * @returns Other error codes as defined for each specific module start function.2047 *2048 */2049 int main(int argc, char *argv[])2050 {2051 ERROR_DECLARE;2052 2053 /* Print the module label */2054 printf("Task %d - %s\n", task_get_id(), NAME);2055 2056 /* Start the module */2057 if (ERROR_OCCURRED(tl_module_start(tl_client_connection))) {2058 printf(" - ERROR %i\n", ERROR_CODE);2059 return ERROR_CODE;2060 }2061 2062 return EOK;2063 }2064 2065 #endif /* CONFIG_NETWORKING_modular */2066 2067 1999 /** @} 2068 2000 */ -
uspace/srv/net/tl/tcp/tcp.h
r3aae4e8 r9f10660f 40 40 #include <fibril_synch.h> 41 41 42 #include <packet/packet.h> 43 #include <net_device.h> 44 #include <socket_core.h> 45 #include <tl_common.h> 42 #include "../../structures/packet/packet.h" 43 44 #include "../../include/device.h" 45 46 #include "../../socket/socket_core.h" 47 48 #include "../tl_common.h" 46 49 47 50 /** Type definition of the TCP global data. -
uspace/srv/net/tl/tcp/tcp_module.c
r3aae4e8 r9f10660f 40 40 #include <async.h> 41 41 #include <stdio.h> 42 42 43 #include <ipc/ipc.h> 43 44 #include <ipc/services.h> 44 45 45 #include <net_err.h> 46 #include <net_modules.h> 47 #include <packet/packet.h> 48 #include <net_interface.h> 49 #include <ip_protocols.h> 50 #include <ip_interface.h> 51 #include <tl_standalone.h> 46 #include "../../err.h" 47 #include "../../modules.h" 48 49 #include "../../structures/packet/packet.h" 50 51 #include "../../include/net_interface.h" 52 #include "../../include/ip_protocols.h" 53 #include "../../include/ip_interface.h" 52 54 53 55 #include "tcp.h" 54 56 #include "tcp_module.h" 55 57 56 /** TCP module global data.58 /** TCP module name. 57 59 */ 58 extern tcp_globals_t tcp_globals; 60 #define NAME "TCP protocol" 61 62 /** Prints the module name. 63 * @see NAME 64 */ 65 void module_print_name(void); 59 66 60 67 /** Starts the TCP module. … … 65 72 * @returns Other error codes as defined for the REGISTER_ME() macro function. 66 73 */ 67 int tl_module_start(async_client_conn_t client_connection){ 74 int module_start(async_client_conn_t client_connection); 75 76 /** Processes the TCP message. 77 * @param[in] callid The message identifier. 78 * @param[in] call The message parameters. 79 * @param[out] answer The message answer parameters. 80 * @param[out] answer_count The last parameter for the actual answer in the answer parameter. 81 * @returns EOK on success. 82 * @returns Other error codes as defined for the tcp_message() function. 83 */ 84 int module_message(ipc_callid_t callid, ipc_call_t * call, ipc_call_t * answer, int * answer_count); 85 86 /** TCP module global data. 87 */ 88 extern tcp_globals_t tcp_globals; 89 90 void module_print_name(void){ 91 printf("%s", NAME); 92 } 93 94 int module_start(async_client_conn_t client_connection){ 68 95 ERROR_DECLARE; 69 96 … … 85 112 } 86 113 87 /** Processes the TCP message. 88 * @param[in] callid The message identifier. 89 * @param[in] call The message parameters. 90 * @param[out] answer The message answer parameters. 91 * @param[out] answer_count The last parameter for the actual answer in the answer parameter. 92 * @returns EOK on success. 93 * @returns Other error codes as defined for the tcp_message() function. 94 */ 95 int tl_module_message(ipc_callid_t callid, ipc_call_t * call, ipc_call_t * answer, int * answer_count){ 114 int module_message(ipc_callid_t callid, ipc_call_t * call, ipc_call_t * answer, int * answer_count){ 96 115 return tcp_message(callid, call, answer, answer_count); 97 116 } -
uspace/srv/net/tl/tcp/tcp_module.h
r3aae4e8 r9f10660f 47 47 * @returns ENOMEM if there is not enough memory left. 48 48 */ 49 externint tcp_initialize(async_client_conn_t client_connection);49 int tcp_initialize(async_client_conn_t client_connection); 50 50 51 51 /** Processes the TCP message. … … 59 59 * @see IS_NET_TCP_MESSAGE() 60 60 */ 61 externint tcp_message(ipc_callid_t callid, ipc_call_t * call, ipc_call_t * answer, int * answer_count);61 int tcp_message(ipc_callid_t callid, ipc_call_t * call, ipc_call_t * answer, int * answer_count); 62 62 63 63 #endif -
uspace/srv/net/tl/udp/Makefile
r3aae4e8 r9f10660f 28 28 # 29 29 30 NET_BASE = ../.. 30 31 USPACE_PREFIX = ../../../.. 31 LIBS = $(LIBNET_PREFIX)/libnet.a $(LIBSOCKET_PREFIX)/libsocket.a32 EXTRA_CFLAGS = -I$(LIBNET_PREFIX)/include -I$(LIBSOCKET_PREFIX)/include33 32 BINARY = udp 34 33 35 34 SOURCES = \ 36 35 udp.c \ 37 udp_module.c 36 udp_module.c \ 37 $(NET_BASE)/checksum.c \ 38 $(NET_BASE)/module.c \ 39 $(NET_BASE)/modules.c \ 40 $(NET_BASE)/il/ip/ip_client.c \ 41 $(NET_BASE)/il/ip/ip_remote.c \ 42 $(NET_BASE)/net/net_remote.c \ 43 $(NET_BASE)/socket/socket_core.c \ 44 $(NET_BASE)/tl/icmp/icmp_client.c \ 45 $(NET_BASE)/tl/icmp/icmp_common.c \ 46 $(NET_BASE)/tl/icmp/icmp_remote.c \ 47 $(NET_BASE)/tl/tl_common.c \ 48 $(NET_BASE)/structures/char_map.c \ 49 $(NET_BASE)/structures/dynamic_fifo.c \ 50 $(NET_BASE)/structures/measured_strings.c \ 51 $(NET_BASE)/structures/packet/packet.c \ 52 $(NET_BASE)/structures/packet/packet_client.c \ 53 $(NET_BASE)/structures/packet/packet_remote.c 38 54 39 55 include $(USPACE_PREFIX)/Makefile.common -
uspace/srv/net/tl/udp/udp.c
r3aae4e8 r9f10660f 40 40 #include <malloc.h> 41 41 #include <stdio.h> 42 42 43 #include <ipc/ipc.h> 43 44 #include <ipc/services.h> 44 45 45 #include <net_err.h> 46 #include <net_messages.h> 47 #include <net_modules.h> 48 #include <adt/dynamic_fifo.h> 49 #include <packet/packet_client.h> 50 #include <net_checksum.h> 51 #include <in.h> 52 #include <in6.h> 53 #include <inet.h> 54 #include <ip_client.h> 55 #include <ip_interface.h> 56 #include <ip_protocols.h> 57 #include <icmp_client.h> 58 #include <icmp_interface.h> 59 #include <net_interface.h> 60 #include <socket_codes.h> 61 #include <socket_errno.h> 62 #include <socket_core.h> 63 #include <socket_messages.h> 64 #include <tl_common.h> 65 #include <tl_messages.h> 46 #include "../../err.h" 47 #include "../../messages.h" 48 #include "../../modules.h" 49 50 #include "../../structures/dynamic_fifo.h" 51 #include "../../structures/packet/packet_client.h" 52 53 #include "../../include/checksum.h" 54 #include "../../include/in.h" 55 #include "../../include/in6.h" 56 #include "../../include/inet.h" 57 #include "../../include/ip_client.h" 58 #include "../../include/ip_interface.h" 59 #include "../../include/ip_protocols.h" 60 #include "../../include/icmp_client.h" 61 #include "../../include/icmp_interface.h" 62 #include "../../include/net_interface.h" 63 #include "../../include/socket_codes.h" 64 #include "../../include/socket_errno.h" 65 66 #include "../../socket/socket_core.h" 67 #include "../../socket/socket_messages.h" 68 69 #include "../tl_common.h" 70 #include "../tl_messages.h" 66 71 67 72 #include "udp.h" 68 73 #include "udp_header.h" 69 74 #include "udp_module.h" 70 71 /** UDP module name.72 */73 #define NAME "UDP protocol"74 75 75 76 /** Default UDP checksum computing. … … 699 700 } 700 701 701 #ifdef CONFIG_NETWORKING_modular702 703 #include <tl_standalone.h>704 705 /** Default thread for new connections.706 *707 * @param[in] iid The initial message identifier.708 * @param[in] icall The initial message call structure.709 *710 */711 static void tl_client_connection(ipc_callid_t iid, ipc_call_t * icall)712 {713 /*714 * Accept the connection715 * - Answer the first IPC_M_CONNECT_ME_TO call.716 */717 ipc_answer_0(iid, EOK);718 719 while(true) {720 ipc_call_t answer;721 int answer_count;722 723 /* Clear the answer structure */724 refresh_answer(&answer, &answer_count);725 726 /* Fetch the next message */727 ipc_call_t call;728 ipc_callid_t callid = async_get_call(&call);729 730 /* Process the message */731 int res = tl_module_message(callid, &call, &answer, &answer_count);732 733 /* End if said to either by the message or the processing result */734 if ((IPC_GET_METHOD(call) == IPC_M_PHONE_HUNGUP) || (res == EHANGUP))735 return;736 737 /* Answer the message */738 answer_call(callid, res, &answer, answer_count);739 }740 }741 742 /** Starts the module.743 *744 * @param argc The count of the command line arguments. Ignored parameter.745 * @param argv The command line parameters. Ignored parameter.746 *747 * @returns EOK on success.748 * @returns Other error codes as defined for each specific module start function.749 *750 */751 int main(int argc, char *argv[])752 {753 ERROR_DECLARE;754 755 /* Print the module label */756 printf("Task %d - %s\n", task_get_id(), NAME);757 758 /* Start the module */759 if (ERROR_OCCURRED(tl_module_start(tl_client_connection))) {760 printf(" - ERROR %i\n", ERROR_CODE);761 return ERROR_CODE;762 }763 764 return EOK;765 }766 767 #endif /* CONFIG_NETWORKING_modular */768 769 702 /** @} 770 703 */ -
uspace/srv/net/tl/udp/udp.h
r3aae4e8 r9f10660f 39 39 40 40 #include <fibril_synch.h> 41 #include <socket_core.h> 42 #include <tl_common.h> 41 42 #include "../../socket/socket_core.h" 43 44 #include "../tl_common.h" 43 45 44 46 /** Type definition of the UDP global data. -
uspace/srv/net/tl/udp/udp_module.c
r3aae4e8 r9f10660f 40 40 #include <async.h> 41 41 #include <stdio.h> 42 42 43 #include <ipc/ipc.h> 43 44 #include <ipc/services.h> 44 45 45 #include <net_err.h> 46 #include <net_modules.h> 47 #include <packet/packet.h> 48 #include <net_interface.h> 49 #include <tl_standalone.h> 46 #include "../../err.h" 47 #include "../../modules.h" 48 49 #include "../../structures/packet/packet.h" 50 51 #include "../../include/net_interface.h" 50 52 51 53 #include "udp.h" 52 54 #include "udp_module.h" 53 55 54 /** UDP module global data.56 /** UDP module name. 55 57 */ 56 extern udp_globals_t udp_globals; 58 #define NAME "UDP protocol" 59 60 /** Prints the module name. 61 * @see NAME 62 */ 63 void module_print_name(void); 57 64 58 65 /** Starts the UDP module. … … 63 70 * @returns Other error codes as defined for the REGISTER_ME() macro function. 64 71 */ 65 int tl_module_start(async_client_conn_t client_connection){ 72 int module_start(async_client_conn_t client_connection); 73 74 /** Processes the UDP message. 75 * @param[in] callid The message identifier. 76 * @param[in] call The message parameters. 77 * @param[out] answer The message answer parameters. 78 * @param[out] answer_count The last parameter for the actual answer in the answer parameter. 79 * @returns EOK on success. 80 * @returns Other error codes as defined for the udp_message() function. 81 */ 82 int module_message(ipc_callid_t callid, ipc_call_t * call, ipc_call_t * answer, int * answer_count); 83 84 /** UDP module global data. 85 */ 86 extern udp_globals_t udp_globals; 87 88 void module_print_name(void){ 89 printf("%s", NAME); 90 } 91 92 int module_start(async_client_conn_t client_connection){ 66 93 ERROR_DECLARE; 67 94 … … 86 113 } 87 114 88 /** Processes the UDP message. 89 * @param[in] callid The message identifier. 90 * @param[in] call The message parameters. 91 * @param[out] answer The message answer parameters. 92 * @param[out] answer_count The last parameter for the actual answer in the answer parameter. 93 * @returns EOK on success. 94 * @returns Other error codes as defined for the udp_message() function. 95 */ 96 int tl_module_message(ipc_callid_t callid, ipc_call_t * call, ipc_call_t * answer, int * answer_count){ 115 int module_message(ipc_callid_t callid, ipc_call_t * call, ipc_call_t * answer, int * answer_count){ 97 116 return udp_message(callid, call, answer, answer_count); 98 117 } -
uspace/srv/net/tl/udp/udp_module.h
r3aae4e8 r9f10660f 47 47 * @returns ENOMEM if there is not enough memory left. 48 48 */ 49 externint udp_initialize(async_client_conn_t client_connection);49 int udp_initialize(async_client_conn_t client_connection); 50 50 51 51 /** Processes the UDP message. … … 59 59 * @see IS_NET_UDP_MESSAGE() 60 60 */ 61 externint udp_message(ipc_callid_t callid, ipc_call_t * call, ipc_call_t * answer, int * answer_count);61 int udp_message(ipc_callid_t callid, ipc_call_t * call, ipc_call_t * answer, int * answer_count); 62 62 63 63 #endif
Note:
See TracChangeset
for help on using the changeset viewer.