#include "idl_types.h" import "nbt.idl"; [ uuid("45f52c28-7f9f-101a-b52b-08002b2efabe"), version(1.0), helpstring("WINS Administration Interface1"), pointer_default(unique) ] interface winsif { /*****************/ /* Function 0x00 */ typedef struct { uint8 type; uint32 length; ipv4address addr; } winsif_Address; typedef enum { WINSIF_ACTION_INSERT = 0x0000, WINSIF_ACTION_DELETE = 0x0001, WINSIF_ACTION_RELEASE = 0x0002, WINSIF_ACTION_MODIFY = 0x0003, WINSIF_ACTION_QUERY = 0x0004 } winsif_Action; typedef enum { WINSIF_RECORD_UNIQUE_NAME = 0x0000, WINSIF_RECORD_GROUP_NAME = 0x0001, WINSIF_RECORD_SGROUP_NAME = 0x0002, WINSIF_RECORD_MHOMED_NAME = 0x0003 } winsif_RecordType; typedef [enum8bit] enum { WINSIF_NODE_B = 0x00, WINSIF_NODE_P = 0x01, WINSIF_NODE_H = 0x03 } winsif_NodeType; typedef [v1_enum] enum { WINSIF_RECORD_ACTIVE = 0x00000000, WINSIF_RECORD_RELEASED = 0x00000001, WINSIF_RECORD_TOMBSTONE = 0x00000002, WINSIF_RECORD_DELETED = 0x00000003 } winsif_RecordState; typedef struct { winsif_Action cmd; wrepl_nbt_name *name; [value(name?16:0)] uint32 name_len; winsif_RecordType record_type; uint32 num_of_addresses; [size_is(num_of_addresses)] winsif_Address *addresses; winsif_Address address; hyper version_number; winsif_NodeType node_type; ipv4address owner_address; winsif_RecordState record_state; boolean32 is_static; time_t expire_time; } winsif_RecordAction; WERROR winsif_WinsRecordAction( [in,out,ref] winsif_RecordAction **record_action ); /*****************/ /* Function 0x01 */ void WinsStatus(); /*****************/ /* Function 0x02 */ void WinsTrigger(); /*****************/ /* Function 0x03 */ void WinsDoStaticInit(); /*****************/ /* Function 0x04 */ void WinsDoScavenging(); /*****************/ /* Function 0x05 */ void WinsGetDbRecs(); /*****************/ /* Function 0x06 */ void WinsTerm(); /*****************/ /* Function 0x07 */ void WinsBackup(); /*****************/ /* Function 0x08 */ void WinsDelDbRecs(); /*****************/ /* Function 0x09 */ void WinsPullRange(); /*****************/ /* Function 0x0A */ void WinsSetPriorityClass(); /*****************/ /* Function 0x0B */ void WinsResetCounters(); /*****************/ /* Function 0x0C */ void WinsWorkerThreadUpdate(); /*****************/ /* Function 0x0D */ void WinsGetNameAndAdd(); /*****************/ /* Function 0x0E */ void WinsGetBrowserNames_Old(); /*****************/ /* Function 0x0F */ void WinsDeleteWins(); /*****************/ /* Function 0x10 */ void WinsSetFlags(); /*****************/ /* Function 0x11 */ void WinsGetBrowserNames(); /*****************/ /* Function 0x12 */ void WinsGetDbRecsByName(); /*****************/ /* Function 0x13 */ void WinsStatusNew(); /*****************/ /* Function 0x14 */ void WinsStatusWHdl(); /*****************/ /* Function 0x15 */ void WinsDoScanvenging2(); }