digic:processors:lime
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revisionLast revisionBoth sides next revision | ||
digic:processors:lime [2021/03/07 03:23] – names_are_hard | digic:processors:lime [2021/03/13 13:34] – [LIME CORE] Indy | ||
---|---|---|---|
Line 4: | Line 4: | ||
All the investigations below were done under 200D (SL2) at version 1.0.1. | All the investigations below were done under 200D (SL2) at version 1.0.1. | ||
+ | [[https:// | ||
==== LIME Shell ==== | ==== LIME Shell ==== | ||
The networking processor was found to have a DryOS implementation with an interactive shell which can be accessed from the ICU through UART. | The networking processor was found to have a DryOS implementation with an interactive shell which can be accessed from the ICU through UART. | ||
Line 92: | Line 93: | ||
Here are the common networking stubs found: | Here are the common networking stubs found: | ||
- | ^ | + | ^ |
- | ^Address ^Name ^Info^ | + | ^Address ^Name ^Signatures |
- | |0xe0110cc4|socket_convertfd|(found from xrefs of FUN_E07146B8)| | + | |0xe0110cc4|socket_convertfd|int socket_convertfd(int sockfd) |
- | |0xe071d880|socket_create|translation from ICU to lime is needed with resolvesock| | + | |0xe071d880|socket_create|int socket_create(int domain, int type, int protocol); |
- | |0xe071d8b8|socket_bind|found from index, CommonSyncWrite| | + | |0xe071d8b8|socket_bind|int socket_bind(int sockfd, void *addr, int addrlen) |
- | |0xe071d8f2|socket_connect|found from index, CommonSyncWrite| | + | |0xe071d8f2|socket_connect|int socket_connect(int sockfd, void *addr, int addrlen) |
- | |0xe071d92c|socket_listen|found from index, CommonSyncWrite| | + | |0xe071d92c|socket_listen|int socket_listen(int sockfd, int backlogl) |
- | |0xe071d960|socket_accept|found from rpc_accept| | + | |0xe071d960|socket_accept|int socket_accept(int sockfd, void *addr, int addrlen) |
- | |0xe071d99a|socket_recv|found from ' | + | |0xe071d99a|socket_recv|int socket_recv(int sockfd, void *buf, int len, int flags) |
- | |0xe071d9d8|socket_recvfrom|found from ' | + | |0xe071da20|socket_send|socket_send(int sockfd, void *buf, int len, int flags) |
- | |0xe071da20|socket_send|found from index, CommonSyncWrite| | + | |0xe071da80|socket_setsockopt|socket_setsockopt(int socket, int level, int option_name, |
- | |0xe071da3a|socket_sendto|found from index, CommonSyncWrite| | + | |0xe071db7a|socket_shutdown|socket_shutdown(int sockfd, int flag) |found from index, CommonSyncWrite| |
- | |0xe071da80|socket_setsockopt|found from ' | + | |0xe0714a20|socket_close|socket_close(int sockfd) |
- | |0xe071dac4|socket_getsockopt|found from ' | + | |0xe010608e|socket_select_caller| socket_select_caller(int convertedsock, |
- | |0xe071db7a|socket_shutdown|found from index, CommonSyncWrite| | + | |
- | |0xe010608e|socket_select_caller|found from ' | + | |
'' | '' | ||
Line 147: | Line 146: | ||
</ | </ | ||
==== Misc ==== | ==== Misc ==== | ||
+ | ^ | ||
+ | ^Option^Value^Info^ | ||
+ | |AF_INET|0x1|Internet IP Protocol| | ||
+ | |||
^ | ^ | ||
^Option^Value^Info^ | ^Option^Value^Info^ | ||
|SOL_SOCKET|0xffff|options at the socket level| | |SOL_SOCKET|0xffff|options at the socket level| | ||
|SO_REUSEADDR| 0x2|allow reuse of local addresses| | |SO_REUSEADDR| 0x2|allow reuse of local addresses| | ||
+ | |||
+ | '' | ||
+ | < | ||
+ | char sockaddr[8]; | ||
+ | |||
+ | // 1 = IPv4, 2 = IPv6, 3 = Ethernet | ||
+ | sockaddr[0] = 0x00; | ||
+ | sockaddr[1] = 0x01; | ||
+ | |||
+ | // port 25565 | ||
+ | sockaddr[2] = 0x63; // low byte | ||
+ | sockaddr[3] = 0xdd; // high byte | ||
+ | |||
+ | // ip address: 192.168.10.22 | ||
+ | sockaddr[4] = 192; | ||
+ | sockaddr[5] = 168; | ||
+ | sockaddr[6] = 10; | ||
+ | sockaddr[7] = 22; | ||
+ | </ | ||
+ | < | ||
+ | socket_bind(sock, | ||
+ | socket_connect(sock, | ||
+ | </ | ||
+ | |||
+ | |||
+ | |||
digic/processors/lime.txt · Last modified: 2021/03/16 12:01 by coon