2009-07-28 14:04:50 +02:00
#include "idl_types.h"
import "nbt.idl";
2004-08-13 01:31:11 +00:00
[
2004-10-27 04:48:41 +00:00
uuid("45f52c28-7f9f-101a-b52b-08002b2efabe"),
2004-08-16 19:03:22 +00:00
version(1.0),
2009-07-28 14:04:50 +02:00
helpstring("WINS Administration Interface1"),
pointer_default(unique)
2009-07-28 14:07:59 +02:00
] interface winsif
2004-08-13 01:31:11 +00:00
{
2009-07-28 14:04:50 +02:00
/*****************/
/* Function 0x00 */
2009-07-29 15:35:45 +02:00
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
);
2009-07-28 14:04:50 +02:00
/*****************/
/* Function 0x01 */
2004-08-13 01:31:11 +00:00
void WinsStatus();
2009-07-28 14:04:50 +02:00
/*****************/
/* Function 0x02 */
2004-08-13 01:31:11 +00:00
void WinsTrigger();
2009-07-28 14:04:50 +02:00
/*****************/
/* Function 0x03 */
2004-08-13 01:31:11 +00:00
void WinsDoStaticInit();
2009-07-28 14:04:50 +02:00
/*****************/
/* Function 0x04 */
2004-08-13 01:31:11 +00:00
void WinsDoScavenging();
2009-07-28 14:04:50 +02:00
/*****************/
/* Function 0x05 */
2004-08-13 01:31:11 +00:00
void WinsGetDbRecs();
2009-07-28 14:04:50 +02:00
/*****************/
/* Function 0x06 */
2004-08-13 01:31:11 +00:00
void WinsTerm();
2009-07-28 14:04:50 +02:00
/*****************/
/* Function 0x07 */
2004-08-13 01:31:11 +00:00
void WinsBackup();
2009-07-28 14:04:50 +02:00
/*****************/
/* Function 0x08 */
2004-08-13 01:31:11 +00:00
void WinsDelDbRecs();
2009-07-28 14:04:50 +02:00
/*****************/
/* Function 0x09 */
2004-08-13 01:31:11 +00:00
void WinsPullRange();
2009-07-28 14:04:50 +02:00
/*****************/
/* Function 0x0A */
2004-08-13 01:31:11 +00:00
void WinsSetPriorityClass();
2009-07-28 14:04:50 +02:00
/*****************/
/* Function 0x0B */
2004-08-13 01:31:11 +00:00
void WinsResetCounters();
2009-07-28 14:04:50 +02:00
/*****************/
/* Function 0x0C */
2004-08-13 01:31:11 +00:00
void WinsWorkerThreadUpdate();
2009-07-28 14:04:50 +02:00
/*****************/
/* Function 0x0D */
2004-08-13 01:31:11 +00:00
void WinsGetNameAndAdd();
2009-07-28 14:04:50 +02:00
/*****************/
/* Function 0x0E */
2004-08-13 01:31:11 +00:00
void WinsGetBrowserNames_Old();
2009-07-28 14:04:50 +02:00
/*****************/
/* Function 0x0F */
2004-08-13 01:31:11 +00:00
void WinsDeleteWins();
2009-07-28 14:04:50 +02:00
/*****************/
/* Function 0x10 */
2004-08-13 01:31:11 +00:00
void WinsSetFlags();
2009-07-28 14:04:50 +02:00
/*****************/
/* Function 0x11 */
void WinsGetBrowserNames();
/*****************/
/* Function 0x12 */
2004-08-13 01:31:11 +00:00
void WinsGetDbRecsByName();
2009-07-28 14:04:50 +02:00
/*****************/
/* Function 0x13 */
void WinsStatusNew();
/*****************/
/* Function 0x14 */
2004-08-13 01:31:11 +00:00
void WinsStatusWHdl();
2009-07-28 14:04:50 +02:00
/*****************/
/* Function 0x15 */
2004-08-13 01:31:11 +00:00
void WinsDoScanvenging2();
}