summaryrefslogtreecommitdiff
path: root/source4/libcli/nbt/libnbt.h
diff options
context:
space:
mode:
authorAndrew Tridgell <tridge@samba.org>2005-02-06 08:22:18 +0000
committerGerald (Jerry) Carter <jerry@samba.org>2007-10-10 13:09:34 -0500
commite0caea68f5ac9f9fee1006b472bb49c2f81b21ac (patch)
tree8293214242c7b0541342d1ff1b60bd857f88c1a1 /source4/libcli/nbt/libnbt.h
parent4559bc77961083f185c5aff62cc51610ac27c7e0 (diff)
downloadsamba-e0caea68f5ac9f9fee1006b472bb49c2f81b21ac.tar.gz
samba-e0caea68f5ac9f9fee1006b472bb49c2f81b21ac.tar.bz2
samba-e0caea68f5ac9f9fee1006b472bb49c2f81b21ac.zip
r5250: - added low level support for retrying nbt name queries, rather than
having the 2nd layer functions do retries themselves. This makes the code simpler, and allows the TRN_ID to be reused in the retry (which is how it is supposed to work). - added support for WACK replies to nbt name requests. A WACK reply specifies a timeout to wait for the real reply. - added WINS name refresh async calls, supporting multiple wins servers and multiple IPs to register (This used to be commit 76be35cb990de830c2451d9e48cb2c40a4befdb7)
Diffstat (limited to 'source4/libcli/nbt/libnbt.h')
-rw-r--r--source4/libcli/nbt/libnbt.h29
1 files changed, 29 insertions, 0 deletions
diff --git a/source4/libcli/nbt/libnbt.h b/source4/libcli/nbt/libnbt.h
index 114d6d3b92..7ccd6a51a4 100644
--- a/source4/libcli/nbt/libnbt.h
+++ b/source4/libcli/nbt/libnbt.h
@@ -48,6 +48,15 @@ struct nbt_name_request {
const char *dest_addr;
int dest_port;
+ /* timeout between retries */
+ int timeout;
+
+ /* how many retries to send on timeout */
+ int num_retries;
+
+ /* whether we have received a WACK */
+ BOOL received_wack;
+
/* the timeout event */
struct timed_event *te;
@@ -116,6 +125,7 @@ struct nbt_name_query {
BOOL broadcast;
BOOL wins_lookup;
int timeout; /* in seconds */
+ int retries;
} in;
struct {
const char *reply_from;
@@ -131,6 +141,7 @@ struct nbt_name_status {
struct nbt_name name;
const char *dest_addr;
int timeout; /* in seconds */
+ int retries;
} in;
struct {
const char *reply_from;
@@ -150,6 +161,7 @@ struct nbt_name_register {
BOOL broadcast;
uint32_t ttl;
int timeout; /* in seconds */
+ int retries;
} in;
struct {
const char *reply_from;
@@ -170,6 +182,22 @@ struct nbt_name_register_bcast {
} in;
};
+/* wins name refresh with multiple wins servers to try and multiple
+ addresses to register */
+struct nbt_name_refresh_wins {
+ struct {
+ struct nbt_name name;
+ const char **wins_servers;
+ const char **addresses;
+ uint16_t nb_flags;
+ uint32_t ttl;
+ } in;
+ struct {
+ const char *wins_server;
+ uint8_t rcode;
+ } out;
+};
+
/* a name refresh request */
struct nbt_name_refresh {
@@ -181,6 +209,7 @@ struct nbt_name_refresh {
BOOL broadcast;
uint32_t ttl;
int timeout; /* in seconds */
+ int retries;
} in;
struct {
const char *reply_from;