#ifndef SM_SHELLCORE_PROTOCOL_DEFS_H #define SM_SHELLCORE_PROTOCOL_DEFS_H /* Shared by C and the position-independent ShellCore bridge assembly. */ #define SM_SHELLCORE_SOCKET_PATH "/system_tmp/shadowmount.sock" #define SM_SHELLCORE_PROTOCOL_MAGIC 0x534d5343 #define SM_SHELLCORE_PROTOCOL_VERSION 1 #define SM_SHELLCORE_REQUEST_LAUNCH_VALUE 1 #define SM_SHELLCORE_REQUEST_LAUNCH_FAILED_VALUE 2 #define SM_SHELLCORE_REQUEST_SANDBOX_READY_VALUE 3 #define SM_SHELLCORE_REQUEST_TITLE_ID_SIZE 32 #define SM_SHELLCORE_REQUEST_SIZE 40 #define SM_SHELLCORE_RESPONSE_SIZE 4 #define SM_SHELLCORE_BRIDGE_INSTALL_STRING_SIZE 16 #define SM_SHELLCORE_BRIDGE_MAX_PROLOGUE_SIZE 16 #define SM_SHELLCORE_BRIDGE_ABSOLUTE_JUMP_SIZE 12 #define SM_SHELLCORE_BRIDGE_RELATIVE_JUMP_SIZE 5 #define SM_SHELLCORE_BRIDGE_MAX_BLOB_SIZE 2048 #define SM_SHELLCORE_BRIDGE_IO_TIMEOUT_SEC 15 #define SM_SHELLCORE_BRIDGE_SANDBOX_TIMEOUT_SEC 3 #define SM_SHELLCORE_BRIDGE_SOCKADDR_SIZE 31 #define SM_SHELLCORE_BRIDGE_SOL_SOCKET 0xffff #define SM_SHELLCORE_BRIDGE_SO_SNDTIMEO 0x1005 #define SM_SHELLCORE_BRIDGE_SO_RCVTIMEO 0x1006 #define SM_SHELLCORE_BRIDGE_TIMEVAL_SIZE 16 #define SM_SHELLCORE_BRIDGE_TRAMPOLINE_SIZE \ (SM_SHELLCORE_BRIDGE_MAX_PROLOGUE_SIZE + \ SM_SHELLCORE_BRIDGE_RELATIVE_JUMP_SIZE) #endif