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"