libcli/nbt: add nbt_set_unexpected_handler()
authorStefan Metzmacher <metze@samba.org>
Sat, 17 Jan 2009 17:15:24 +0000 (18:15 +0100)
committerStefan Metzmacher <metze@samba.org>
Mon, 19 Jan 2009 06:05:27 +0000 (07:05 +0100)
metze
(from samba4wins tree 74232901d1e7ea9ebcb3bd8d584dda36fac37223)

libcli/nbt/libnbt.h
libcli/nbt/nbtsocket.c

index f5191656ed465863b57b408f36fa0625d4a0f787..87183c2c13d5ba69d171e72c0abe9eb02abb0f66 100644 (file)
@@ -324,6 +324,10 @@ NTSTATUS nbt_set_incoming_handler(struct nbt_name_socket *nbtsock,
                                  void (*handler)(struct nbt_name_socket *, struct nbt_name_packet *,
                                                  struct socket_address *),
                                  void *private_data);
+NTSTATUS nbt_set_unexpected_handler(struct nbt_name_socket *nbtsock,
+                                   void (*handler)(struct nbt_name_socket *, struct nbt_name_packet *,
+                                                   struct socket_address *),
+                                   void *private);
 NTSTATUS nbt_name_reply_send(struct nbt_name_socket *nbtsock,
                             struct socket_address *dest,
                             struct nbt_name_packet *request);
index 68c5d89db673a0aba20c34b48ea619f5692d57ea..4816b816fe2e155681c5ea8602e8d8a96d0b568c 100644 (file)
@@ -509,6 +509,19 @@ _PUBLIC_ NTSTATUS nbt_set_incoming_handler(struct nbt_name_socket *nbtsock,
        return NT_STATUS_OK;
 }
 
+/*
+  setup a handler for unexpected requests
+*/
+NTSTATUS nbt_set_unexpected_handler(struct nbt_name_socket *nbtsock,
+                                   void (*handler)(struct nbt_name_socket *, struct nbt_name_packet *,
+                                                   struct socket_address *),
+                                   void *private)
+{
+       nbtsock->unexpected.handler = handler;
+       nbtsock->unexpected.private_data = private;
+       EVENT_FD_READABLE(nbtsock->fde);
+       return NT_STATUS_OK;
+}
 
 /*
   turn a NBT rcode into a NTSTATUS