added gethostname
This commit is contained in:
parent
8b5e753235
commit
6beee4f9fe
@ -20,13 +20,16 @@ Result socInit(u32 *context_addr, u32 context_size);
|
|||||||
*/
|
*/
|
||||||
Result socExit(void);
|
Result socExit(void);
|
||||||
|
|
||||||
// this is supposed to be in unistd.h but newlib only puts it for cygwin
|
// this is supposed to be in unistd.h but newlib only puts it for cygwin, waiting for newlib patch from dkA
|
||||||
/**
|
/**
|
||||||
* @brief Gets the system's host ID.
|
* @brief Gets the system's host ID.
|
||||||
* @return The system's host ID.
|
* @return The system's host ID.
|
||||||
*/
|
*/
|
||||||
long gethostid(void);
|
long gethostid(void);
|
||||||
|
|
||||||
|
// this is supposed to be in unistd.h but newlib only puts it for cygwin, waiting for newlib patch from dkA
|
||||||
|
int gethostname(char *name, size_t namelen);
|
||||||
|
|
||||||
int SOCU_ShutdownSockets();
|
int SOCU_ShutdownSockets();
|
||||||
|
|
||||||
int SOCU_CloseSockets();
|
int SOCU_CloseSockets();
|
||||||
|
14
libctru/source/services/soc/soc_gethostname.c
Normal file
14
libctru/source/services/soc/soc_gethostname.c
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
#include <arpa/inet.h>
|
||||||
|
#include <3ds/result.h> // To be removed when dkA patch to newlib is applied
|
||||||
|
#include <3ds/services/soc.h> // To be changed to unistd.h when dkA patch to newlib is applied
|
||||||
|
|
||||||
|
|
||||||
|
// The 3DS doesn't give any host name for its own IP through gethostbyaddr
|
||||||
|
// For compatibility, the host ASCII name will be given (IPv4 dotted notation)
|
||||||
|
int gethostname(char *name, size_t namelen)
|
||||||
|
{
|
||||||
|
long hostid = gethostid();
|
||||||
|
const char * hostname = inet_ntop(AF_INET,&hostid,name,namelen);
|
||||||
|
if(hostname == NULL)return -1;
|
||||||
|
return 0;
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user