X-Git-Url: https://git.ucc.asn.au/?a=blobdiff_plain;f=Modules%2FIPStack%2Fmain.c;h=6fe92f4548c7447c8b7390e42519a114c9911c51;hb=54746c855c6e2fe42fde9f93b0ce3f41aeefc2e5;hp=6b6f8a936bb5073f50ffd1ef98e33e88342ef850;hpb=07173b260d76a7e6482838c02d5deb2ead2afbb2;p=tpg%2Facess2.git diff --git a/Modules/IPStack/main.c b/Modules/IPStack/main.c index 6b6f8a93..6fe92f45 100644 --- a/Modules/IPStack/main.c +++ b/Modules/IPStack/main.c @@ -89,7 +89,7 @@ int IPStack_Install(char **Arguments) DevFS_AddDevice( &gIP_DriverInfo ); - return 1; + return MODULE_ERR_OK; } /** @@ -97,7 +97,7 @@ int IPStack_Install(char **Arguments) */ int IPStack_AddFile(tSocketFile *File) { - Log("IPStack_AddFile: %s", File->Name); + Log_Log("IPStack", "Added file '%s'", File->Name); File->Next = gIP_FileTemplates; gIP_FileTemplates = File; return 0; @@ -268,6 +268,7 @@ static const char *casIOCtls_Iface[] = { "get_address", "set_address", "getset_subnet", "get_gateway", "set_gateway", + "get_device", "ping", NULL }; @@ -465,11 +466,23 @@ int IPStack_Iface_IOCtl(tVFS_Node *Node, int ID, void *Data) } break; + /* + * get_device + * - Gets the name of the attached device + */ + case 10: + if( Data == NULL ) + LEAVE_RET('i', iface->Adapter->DeviceLen); + if( !CheckMem( Data, iface->Adapter->DeviceLen+1 ) ) + LEAVE_RET('i', -1); + strcpy( Data, iface->Adapter->Device ); + return iface->Adapter->DeviceLen; + /* * ping * - Send an ICMP Echo */ - case 10: + case 11: switch(iface->Type) { case 0: @@ -588,6 +601,7 @@ tAdapter *IPStack_GetAdapter(char *Path) // Fill Structure strcpy( dev->Device, Path ); dev->NRef = 1; + dev->DeviceLen = strlen(Path); // Open Device dev->DeviceFD = VFS_Open( dev->Device, VFS_OPENFLAG_READ|VFS_OPENFLAG_WRITE );