Merge pull request #247 from Lectem/more_soc

added gethostname
This commit is contained in:
Dave Murphy 2016-01-21 00:16:26 +00:00
commit b8741b35e8
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;
}