FreeCalypso > hg > fc-tourmaline
comparison src/g23m-fad/tcpip/tcpip_sim_utils.c @ 1:fa8dc04885d8
src/g23m-*: import from Magnetite
| author | Mychaela Falconia <falcon@freecalypso.org> |
|---|---|
| date | Fri, 16 Oct 2020 06:25:50 +0000 |
| parents | |
| children |
comparison
equal
deleted
inserted
replaced
| 0:4e78acac3d88 | 1:fa8dc04885d8 |
|---|---|
| 1 /* | |
| 2 +------------------------------------------------------------------------------ | |
| 3 | File: tcpip_utils.c | |
| 4 +------------------------------------------------------------------------------ | |
| 5 | Copyright 2003 Texas Instruments Berlin, AG | |
| 6 | All rights reserved. | |
| 7 | | |
| 8 | This file is confidential and a trade secret of Texas | |
| 9 | Instruments Berlin, AG | |
| 10 | The receipt of or possession of this file does not convey | |
| 11 | any rights to reproduce or disclose its contents or to | |
| 12 | manufacture, use, or sell anything it may describe, in | |
| 13 | whole, or in part, without the specific written consent of | |
| 14 | Texas Instruments Berlin, AG. | |
| 15 +----------------------------------------------------------------------------- | |
| 16 | Purpose : Utility functions for GPF-based TCP/IP | |
| 17 +----------------------------------------------------------------------------- | |
| 18 */ | |
| 19 | |
| 20 | |
| 21 #define TCPIP_UTILS_C | |
| 22 | |
| 23 #define ENTITY_TCPIP | |
| 24 | |
| 25 /*==== INCLUDES =============================================================*/ | |
| 26 | |
| 27 #include <string.h> /* String functions, e. g. strncpy(). */ | |
| 28 #include <stdio.h> | |
| 29 | |
| 30 #include "typedefs.h" /* to get Condat data types */ | |
| 31 #include "vsi.h" /* to get a lot of macros */ | |
| 32 #include "custom.h" | |
| 33 #include "gsm.h" /* to get a lot of macros */ | |
| 34 #include "prim.h" /* to get the definitions of used SAP and directions */ | |
| 35 #include "pei.h" /* to get PEI interface */ | |
| 36 #include "tools.h" /* to get common tools */ | |
| 37 #include "dti.h" /* For DTI library definitions. */ | |
| 38 #include "glob_defs.h" | |
| 39 #include "tcpip.h" /* to get the global entity definitions */ | |
| 40 | |
| 41 /* RNET includes | |
| 42 */ | |
| 43 #include "rv_general.h" | |
| 44 #include "rnet_api.h" | |
| 45 #include "rnet_rt_env.h" | |
| 46 #include "rnet_message.h" | |
| 47 #include "rnet_rt_i.h" | |
| 48 | |
| 49 | |
| 50 /*==== Local prototypes =====================================================*/ | |
| 51 | |
| 52 | |
| 53 | |
| 54 | |
| 55 /*==== Macros ===============================================================*/ | |
| 56 | |
| 57 | |
| 58 | |
| 59 /*==== Types ================================================================*/ | |
| 60 | |
| 61 | |
| 62 /*==== Local data ===========================================================*/ | |
| 63 | |
| 64 | |
| 65 | |
| 66 /*==== Other public functions ===============================================*/ | |
| 67 | |
| 68 unsigned long tcpip_sim_fake_data(int socket, U16 len) | |
| 69 { | |
| 70 static char tmp[100000] ; | |
| 71 | |
| 72 /* MALLOC(tmp, len) ; */ | |
| 73 *tmp = 0 ; | |
| 74 if (len > 30) | |
| 75 { | |
| 76 sprintf(tmp, "data len 0x%0.4x for socket %-.2d\n", len, socket) ; | |
| 77 } | |
| 78 if (len > strlen(tmp)) | |
| 79 { | |
| 80 memset(tmp + strlen(tmp), '0' + socket, len - strlen(tmp)) ; | |
| 81 } | |
| 82 return (unsigned long) tmp ; | |
| 83 } | |
| 84 | |
| 85 | |
| 86 void tcpip_dump_packet(char *title, U8 *data, U16 len) | |
| 87 { | |
| 88 static char buf[80] ; | |
| 89 int i = 0 ; | |
| 90 | |
| 91 strcpy(buf, "pkt dump from ") ; | |
| 92 strcat(buf, title) ; | |
| 93 strcat(buf, "\n ") ; | |
| 94 while (len-- > 0) | |
| 95 { | |
| 96 sprintf(buf + strlen(buf), " %02x", *data++) ; | |
| 97 if (!(++i % 4)) | |
| 98 { | |
| 99 if (!(i % 8)) | |
| 100 { | |
| 101 TRACE_EVENT(buf) ; | |
| 102 sprintf(buf, " ") ; | |
| 103 } | |
| 104 else | |
| 105 { | |
| 106 sprintf(buf + strlen(buf), " ") ; | |
| 107 } | |
| 108 } | |
| 109 } | |
| 110 printf("%s", buf) ; | |
| 111 } | |
| 112 | |
| 113 static char *inet_ntoa(U32 ipaddr) | |
| 114 { | |
| 115 static char ipaddr_string[sizeof("000.000.000.000")] ; | |
| 116 UBYTE *addrbyte_p ; /* Pointer to single address bytes. */ | |
| 117 | |
| 118 addrbyte_p = (UBYTE *) &ipaddr ; | |
| 119 sprintf(ipaddr_string,"%u.%u.%u.%u", | |
| 120 addrbyte_p[3], addrbyte_p[2], addrbyte_p[1], addrbyte_p[0]); | |
| 121 return ipaddr_string ; | |
| 122 } | |
| 123 | |
| 124 | |
| 125 | |
| 126 void tcpip_if_properties(NGifnet *netp) | |
| 127 { | |
| 128 char *name ; | |
| 129 U32 value ; | |
| 130 | |
| 131 ngIfGenCntl(netp, NG_CNTL_GET, NG_IFO_NAME, &name) ; | |
| 132 TRACE_EVENT_P1("Interface name %s", name) ; | |
| 133 | |
| 134 ngIfGenCntl(netp, NG_CNTL_GET, NG_IFO_OUTQ_MAX, &value) ; | |
| 135 TRACE_EVENT_P1(" NG_IFO_OUTQ_MAX = %d", value) ; | |
| 136 | |
| 137 ngIfGenCntl(netp, NG_CNTL_GET, NG_IFO_ADDR, &value) ; | |
| 138 TRACE_EVENT_P1(" NG_IFO_ADDR = %s", inet_ntoa(ngNTOHL(value))) ; | |
| 139 | |
| 140 ngIfGenCntl(netp, NG_CNTL_GET, NG_IFO_NETMASK, &value) ; | |
| 141 TRACE_EVENT_P1(" NG_IFO_NETMASK = 0x%x", ngNTOHL(value)) ; | |
| 142 | |
| 143 ngIfGenCntl(netp, NG_CNTL_GET, NG_IFO_DSTADDR, &value) ; | |
| 144 TRACE_EVENT_P1(" NG_IFO_DSTADDR = %s", inet_ntoa(ngNTOHL(value))) ; | |
| 145 | |
| 146 ngIfGenCntl(netp, NG_CNTL_GET, NG_IFO_FLAGS, &value) ; | |
| 147 TRACE_EVENT_P1(" NG_IFO_FLAGS = 0x%x", value) ; | |
| 148 | |
| 149 ngIfGenCntl(netp, NG_CNTL_GET, NG_IFO_DEV1, &value) ; | |
| 150 TRACE_EVENT_P1(" NG_IFO_DEV1 = 0x%x", value) ; | |
| 151 | |
| 152 ngIfGenCntl(netp, NG_CNTL_GET, NG_IFO_DEV2, &value) ; | |
| 153 TRACE_EVENT_P1(" NG_IFO_DEV2 = 0x%x", value) ; | |
| 154 | |
| 155 ngIfGenCntl(netp, NG_CNTL_GET, NG_IFO_DEVPTR1, &value) ; | |
| 156 TRACE_EVENT_P1(" NG_IFO_DEVPTR1 = 0x%x", value) ; | |
| 157 | |
| 158 ngIfGenCntl(netp, NG_CNTL_GET, NG_IFO_DEVPTR2, &value) ; | |
| 159 TRACE_EVENT_P1(" NG_IFO_DEVPTR2 = 0x%x", value) ; | |
| 160 | |
| 161 ngIfGenCntl(netp, NG_CNTL_GET, NG_IFO_PROMISC, &value) ; | |
| 162 TRACE_EVENT_P1(" NG_IFO_PROMISC = 0x%x", value) ; | |
| 163 | |
| 164 ngIfGenCntl(netp, NG_CNTL_GET, NG_IFO_ALLMULTI, &value) ; | |
| 165 TRACE_EVENT_P1(" NG_IFO_ALLMULTI = 0x%x", value) ; | |
| 166 | |
| 167 ngIfGenCntl(netp, NG_CNTL_GET, NG_IFO_MTU, &value) ; | |
| 168 TRACE_EVENT_P1(" NG_IFO_MTU = %d", value) ; | |
| 169 } |
