A stack which works with or without an Mbed os library. Provides IPv4 or IPv6 with a full 1500 byte buffer.
Dependents: oldheating gps motorhome heating
ip.c@151:bde6f7da1755, 2019-07-19 (annotated)
- Committer:
- andrewboyson
- Date:
- Fri Jul 19 17:48:06 2019 +0000
- Revision:
- 151:bde6f7da1755
- Parent:
- 61:aad055f1b0d1
Removed private key and certificate from semihost storage as found to be unreliable (though secure) and moved it into flash storage (reliable, simple, but visible on mbed.
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
andrewboyson | 61:aad055f1b0d1 | 1 | #include <stdint.h> |
andrewboyson | 61:aad055f1b0d1 | 2 | #include <string.h> |
andrewboyson | 61:aad055f1b0d1 | 3 | #include <stdio.h> |
andrewboyson | 61:aad055f1b0d1 | 4 | |
andrewboyson | 47:73af5c0b0dc2 | 5 | #include "log.h" |
andrewboyson | 14:e75a59c1123d | 6 | #include "ip.h" |
andrewboyson | 14:e75a59c1123d | 7 | |
andrewboyson | 47:73af5c0b0dc2 | 8 | void IpProtocolString(uint8_t protocol, int size, char* text) |
andrewboyson | 14:e75a59c1123d | 9 | { |
andrewboyson | 14:e75a59c1123d | 10 | switch (protocol) |
andrewboyson | 14:e75a59c1123d | 11 | { |
andrewboyson | 33:714a0345e59b | 12 | case ICMP: strncpy(text, "ICMP" , size); break; |
andrewboyson | 33:714a0345e59b | 13 | case IGMP: strncpy(text, "IGMP" , size); break; |
andrewboyson | 33:714a0345e59b | 14 | case ICMP6: strncpy(text, "ICMP6" , size); break; |
andrewboyson | 33:714a0345e59b | 15 | case TCP: strncpy(text, "TCP" , size); break; |
andrewboyson | 33:714a0345e59b | 16 | case UDP: strncpy(text, "UDP" , size); break; |
andrewboyson | 33:714a0345e59b | 17 | case IP6IN4: strncpy(text, "IP6IN4", size); break; |
andrewboyson | 14:e75a59c1123d | 18 | default: snprintf(text, size, "%d", protocol); break; |
andrewboyson | 14:e75a59c1123d | 19 | } |
andrewboyson | 14:e75a59c1123d | 20 | } |
andrewboyson | 47:73af5c0b0dc2 | 21 | void IpProtocolLog(uint8_t protocol) |
andrewboyson | 47:73af5c0b0dc2 | 22 | { |
andrewboyson | 47:73af5c0b0dc2 | 23 | switch (protocol) |
andrewboyson | 47:73af5c0b0dc2 | 24 | { |
andrewboyson | 47:73af5c0b0dc2 | 25 | case ICMP: Log("ICMP" ); break; |
andrewboyson | 47:73af5c0b0dc2 | 26 | case IGMP: Log("IGMP" ); break; |
andrewboyson | 47:73af5c0b0dc2 | 27 | case ICMP6: Log("ICMP6" ); break; |
andrewboyson | 47:73af5c0b0dc2 | 28 | case TCP: Log("TCP" ); break; |
andrewboyson | 47:73af5c0b0dc2 | 29 | case UDP: Log("UDP" ); break; |
andrewboyson | 47:73af5c0b0dc2 | 30 | case IP6IN4: Log("IP6IN4"); break; |
andrewboyson | 47:73af5c0b0dc2 | 31 | default: LogF("%d", protocol); break; |
andrewboyson | 47:73af5c0b0dc2 | 32 | } |
andrewboyson | 47:73af5c0b0dc2 | 33 | } |