2 * Unix SMB/CIFS implementation.
3 * RPC Pipe client / server routines
4 * Copyright (C) Jean François Micouleau 1998-2002.
6 * This program is free software; you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License as published by
8 * the Free Software Foundation; either version 2 of the License, or
9 * (at your option) any later version.
11 * This program is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 * GNU General Public License for more details.
16 * You should have received a copy of the GNU General Public License
17 * along with this program; if not, write to the Free Software
18 * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
21 #define OPCODE_NON_NBT 0x00007800
24 #define MESSAGE_TYPE_START_ASSOC_REQUEST 0
25 #define MESSAGE_TYPE_START_ASSOC_REPLY 1
26 #define MESSAGE_TYPE_STOP_ASSOC 2
27 #define MESSAGE_TYPE_REPLICATE 3
29 /* the replication sub-message */
30 #define MESSAGE_REP_ADD_VERSION_REQUEST 0
31 #define MESSAGE_REP_ADD_VERSION_REPLY 1
32 #define MESSAGE_REP_SEND_ENTRIES_REQUEST 2
33 #define MESSAGE_REP_SEND_ENTRIES_REPLY 3
34 #define MESSAGE_REP_UPDATE_NOTIFY_REQUEST 4
37 #define STOP_REASON_USER_REASON 0
38 #define STOP_REASON_AUTH_FAILED 1
39 #define STOP_REASON_INCOMPLETE_VERSION 2
40 #define STOP_REASON_BUG_CHECK 3
41 #define STOP_REASON_MESSAGE_ERROR 4
44 typedef struct _WINS_OWNER {
45 struct in_addr address;
46 SMB_BIG_UINT max_version;
47 SMB_BIG_UINT min_version;
53 typedef struct _WINS_NAME {
54 int name_len; /* always 0x11 */
63 struct in_addr *others;
64 int foo; /* 0xffffff */
67 typedef struct _WINS_PARTNERS
73 struct in_addr partner_server;
74 struct in_addr other_server;
77 typedef struct _generic_header{
84 typedef struct _START_ASSOC_REQUEST {
88 } START_ASSOC_REQUEST;
90 typedef struct _START_ASSOC_REPLY {
96 typedef struct _STOP_ASSOC {
100 typedef struct _AVMT_REP {
102 WINS_OWNER *wins_owner;
103 struct in_addr initiating_wins_server;
106 typedef struct _SEND_ENTRIES_REQUEST {
107 WINS_OWNER wins_owner;
108 } SEND_ENTRIES_REQUEST;
110 typedef struct _SEND_ENTRIES_REPLY {
112 WINS_NAME *wins_name;
113 } SEND_ENTRIES_REPLY;
115 typedef struct _UPDATE_NOTIFY_REQUEST {
117 WINS_OWNER *wins_owner;
118 struct in_addr initiating_wins_server;
119 } UPDATE_NOTIFY_REQUEST;
121 typedef struct _REPLICATE {
125 SEND_ENTRIES_REQUEST se_rq;
126 SEND_ENTRIES_REPLY se_rp;
127 UPDATE_NOTIFY_REQUEST un_rq;
131 typedef struct _GENERIC_PACKET {
134 generic_header header;
136 START_ASSOC_REQUEST sa_rq;
137 START_ASSOC_REPLY sa_rp;
142 struct wins_packet_struct
144 struct wins_packet_struct *next;
145 struct wins_packet_struct *prev;
149 GENERIC_PACKET *packet;
160 #include "wrepld_proto.h"