I made this thread for Wii U Homebrew Develloppers to know all Functions (The ones that are not on Wii U Brew) Naturelly they are all C Code.
How did i found them ?
I found them on 2.12.13 Cafe OS SDK, making it public is illegal, and doesn't respect GBATemp posting rules
List :
Basic :
I wrote above the essentially functions to Wii U Homebrewing.
sysapp.rpl : (Thos that are not on Wii U Brew)
Mini MiiVerse : 7
Web Browser : 8
MiiVerse : 9
E-Shop : 10
-snip- (No you won't)
FS (File System) :
DMAE.rpl :
Everything that is here : wiiubrew.org/wiki/Nsysnet.rpl
I can't write more for today ! ^^
Feel free to ask me, what should i add or complete some parts, because all functions are not really here so ask in the comment section
How did i found them ?
I found them on 2.12.13 Cafe OS SDK, making it public is illegal, and doesn't respect GBATemp posting rules
List :
Basic :
- memcpy(dest, src, length) - dest become src (src = 1, dest = 0 | memcpy(dest, src, length) --> src = 1 ; dest = 1)
- memset(src, value, lengthtobechange) - src = "John Cena" ; value = "Nexo" | memset(src, value, 4) --> src = "Nexo Cena" The 4 first letters of the string has been set to the value
- OSFatal(str) - str = "Hello World" | OSFatal(str) -> Will froze your screen/console and prints the str
- _Exit() - Exit the app running in background (Web Browser)
- OSCreateThread(thread, entry, argc, args, stack, stack_size, priority, attr) - Create a Thread
- OSResumeThread(thread) - Start a Thread
I wrote above the essentially functions to Wii U Homebrewing.
sysapp.rpl : (Thos that are not on Wii U Brew)
- SYSLaunchAccount() - Launch the Account Management Application
- SYSCheckSystemApplicationExists(id) - ID :
Mini MiiVerse : 7
Web Browser : 8
MiiVerse : 9
E-Shop : 10
- SYSSwitchToEShopAocList(maybe title id ?) - TITLE ID - Jump to the DLC Game Page
- SYSSwitchToEShopTicketList(title id too ?) - TITLE ID - Jump to subscriptions list page
-snip- (No you won't)
FS (File System) :
- FSInit() and FSShutdown() - Init or Shutdown the fs librairy
- FSAddClient(client, FSRetFlag flag) and FSDelClient(client, FSRetFlag flag) - Add or Delete a client
- Look here for already known FS Functions
- FSGetMountSource(client, cmd, type, source, FSRetFlag flag) - Get the Mount Source
- FSMount(client, cmd, source, char *target, u32 bytes, FSRetFlag) - Mount SDcard or USB (Kernel)
- FSUnmount(client, cmd, char *target, FSRetFlag flag) - Unmount a device
- FSChangeDir(client, cmd, char *path) - Change Directory
- FSOpenFile(client, cmd, char *path, char *mode, FSFileHandle, FSRetFlag flag) - Open file
- FSCloseFile(client, cmd, FSFileHandle fileHandle, FSRetFlag flag) - Close a opened file
- FSReadFile(client, block, void *dest, size, count, FSFileHandle fileHandle, FSFlag flag,FSRetFlag errHandling); - Read a opened file
- FSOpenDir(client, cmd, char *path, dir_handle, FSRetFlag flag) - Open a directory
- FSCloseDir(client, cmd, dir_handle, FSRetFlag flag) - Close a opened directory
- FSReadDir(client, cmd, dir_handle, returned_dir_entry, FSRetFlag flag) - Read into a directory
- FSMakeDir(client, cmd, char *path, FSRetFlag flag) - Create a directory
- FSRemove(client, cmd, char *path, FSRetFlag flag) - Remove a new entry (directory ?)
- FSRename(client, cmd char *oldPath, char *newPath, FSRetFlag flag) - Rename a file
DMAE.rpl :
- DMAEWaitDone(DMAETimeStamp ts) - Wait for a DMA command to complete
- DMAEIsDone(DMAETimeStamp ts) - Return true if yes or False for no
- Some Semaphores functions (if you want me to add them, ask me in the comments)
- DMAECopyMem(dst, src, u32 size, endian) - Issue a DMA command to copy memory from one range to another
- DMAEFillMem(dst, u32 fillData, u32 size) - Issue a DMA command to fill a memory range with a specified value
- DMAEFillMemPhys(dst-pa, u32 fillData, u32 size) - Issue a DMA command to fill a physical memory range with a specified value
- DMAESetTimeout(u32 millisec) - Set a millisec timeout
- DMAEGetTimeout(void) - Get a timeout
Everything that is here : wiiubrew.org/wiki/Nsysnet.rpl
- bind(int fd, struct sockaddr *addr, int addrlen) - Bind a socket connection
- socketclose(fd) - Close a socket (fd is a socket)
Code:
extern int recvfrom(int fd, void *buffer, int len, int flags,struct sockaddr *from, int *fromlen);
extern int recvfrom_ex(int fd, void *buffer, int len, int flags,struct sockaddr *from, int *fromlen,amsg msg, int msglen);
extern int recvfrom_multi (int fd, int flags,struct recvfrom_multi_buffers *buffs, int recv_datagram_len, int recv_datagram_count,struct timeval *timeout);
extern int send(int fd, const void *buffer, int len, int flags);
extern int sendto(int fd, const void *buffer, int len, int flags,const struct sockaddr *dest_addr, int dest_len);
extern int sendto_multi(int fd, const void *buffer, int len, int flags,const struct sockaddr *dest_addrs, int dest_count);
extern int sendto_multi_ex (int fd, int flags,struct sendto_multi_ex_buffers *buffs, int send_datagram_count);
extern int shutdown(int fd, int how);
extern int socket(int family, int type, int proto);
extern int socketclose(int fd);
extern int inet_aton(const char *cp, struct in_addr *addr);
extern char *inet_ntoa_r(struct in_addr in, char *buf);
extern const char *inet_ntop(int af, const void *src, char *dst, socklen_t size);
extern int inet_pton(int af, const char *src, void *dst);
extern int getpeername(int fd, struct sockaddr *name, int *addrlen);
extern int getsockname(int fd, struct sockaddr *name, int *addrlen);
extern int getsockopt(int fd, int level, int optname, void *optval,socklen_t *optlen);
extern int setsockopt(int fd, int level, int optname, void *optval,socklen_t optlen);
extern void setsocketlasterr(int err);
extern int select(int nfds, fd_set *readfds, fd_set *writefds, fd_set *exceptfds, struct timeval *timeout);
extern int setsocklibopt (int liboptname, int optval);
extern int getsocklibopt (int liboptname, int *optval);
extern int somemopt (int req_type, char* mem, unsigned int memlen, int flags);
extern u32 ntohl(u32 val);
extern u32 htonl(u32 val);
extern u16 ntohs(u16 val);
extern u16 htons(u16 val);
extern int icmp_create_handle(int family);
extern int icmp_close_handle(int handle);
extern int icmp_ping(int handle, const void* data, int len, const struct sockaddr *dest_addr, int dest_len, unsigned timeout, int flag);
extern int icmp_cancel(int handle);
extern int icmp_last_code_type(int handle);
I can't write more for today ! ^^
Feel free to ask me, what should i add or complete some parts, because all functions are not really here so ask in the comment section
Last edited by Minox,