diff options
author | Andrew Tridgell <tridge@samba.org> | 2005-02-06 08:22:18 +0000 |
---|---|---|
committer | Gerald (Jerry) Carter <jerry@samba.org> | 2007-10-10 13:09:34 -0500 |
commit | e0caea68f5ac9f9fee1006b472bb49c2f81b21ac (patch) | |
tree | 8293214242c7b0541342d1ff1b60bd857f88c1a1 /source4/libcli/nbt/libnbt.h | |
parent | 4559bc77961083f185c5aff62cc51610ac27c7e0 (diff) | |
download | samba-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.h | 29 |
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; |