added gethostname

This commit is contained in:
Lectem 2016-01-19 14:14:32 -05:00
parent 8b5e753235
commit 6beee4f9fe
2 changed files with 18 additions and 1 deletions

View File

@ -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();

View 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;
}