+ }
+ LEAVE('i', iface->Type);
+ return iface->Type;
+
+ /*
+ * get_address
+ * - Get the interface's address
+ */
+ case 5:
+ switch(iface->Type)
+ {
+ case 0: LEAVE_RET('i', 1);
+ case 4:
+ if( !CheckMem( Data, sizeof(tIPv4) ) ) LEAVE_RET('i', -1);
+ memcpy( Data, &iface->IP4.Address, sizeof(tIPv4) );
+ LEAVE_RET('i', 1);
+ case 6:
+ if( !CheckMem( Data, sizeof(tIPv6) ) ) LEAVE_RET('i', -1);
+ memcpy( Data, &iface->IP6.Address, sizeof(tIPv6) );
+ LEAVE_RET('i', 1);
+ }
+ LEAVE_RET('i', 0);
+
+ /*
+ * set_address
+ * - Get the interface's address
+ */
+ case 6:
+ if( Threads_GetUID() != 0 ) LEAVE_RET('i', -1);
+ switch(iface->Type)
+ {
+ case 0: LEAVE_RET('i', 1);
+ case 4:
+ if( !CheckMem( Data, sizeof(tIPv4) ) ) LEAVE_RET('i', -1);
+ iface->Type = 0; // One very hacky mutex/trash protector
+ memcpy( &iface->IP4.Address, Data, sizeof(tIPv4) );
+ iface->Type = 4;
+ LEAVE_RET('i', 1);
+ case 6:
+ if( !CheckMem( Data, sizeof(tIPv6) ) ) LEAVE_RET('i', -1);
+ iface->Type = 0;
+ memcpy( &iface->IP6.Address, Data, sizeof(tIPv6) );
+ iface->Type = 6;
+ LEAVE_RET('i', 1);
+ }
+ LEAVE_RET('i', 0);
+
+ /*
+ * getset_subnet
+ * - Get/Set the bits in the address subnet
+ */
+ case 7:
+ // Get?
+ if( Data == NULL )
+ {
+ switch( iface->Type )