patch-2.1.15 linux/include/net/netbeui.h
Next file: linux/include/net/netbeuicall.h
Previous file: linux/include/net/neighbour.h
Back to the patch index
Back to the overall index
- Lines: 77
- Date:
Thu Dec 12 16:54:21 1996
- Orig file:
v2.1.14/linux/include/net/netbeui.h
- Orig date:
Thu Jan 1 02:00:00 1970
diff -u --recursive --new-file v2.1.14/linux/include/net/netbeui.h linux/include/net/netbeui.h
@@ -0,0 +1,76 @@
+/*
+ * NetBEUI data structures
+ */
+
+#ifndef __NET_NETBEUI_H
+#define __NET_NETBEUI_H
+
+/*
+ * Used to keep lists of netbeui sessions
+ */
+
+struct nb_ses
+{
+ struct nb_ses *next;
+ struct nb_nam *name;
+ struct nb_link *parent; /* Owner link */
+ struct sock *sk;
+};
+
+/*
+ * A netbeui link
+ */
+
+struct nb_link
+{
+ u8 mac[6]; /* Mac address of remote */
+ struct device *dev; /* Device we heard him on */
+ struct llc *llc; /* 802.2 link layer */
+ struct nb_ses *sessions;/* Netbeui sessions on this LLC link */
+ struct wait_queue *wait;/* Wait queue for this netbios LLC */
+};
+
+
+/*
+ * Netbios name defence list
+ */
+
+struct nb_name
+{
+ struct nb_name *next; /* Chain */
+ struct device *dev; /* Device */
+ char name[NB_NAME_LEN]; /* Object Name */
+ int state; /* Name State */
+#define NB_NAME_ACQUIRE 1 /* We are trying to get a name */
+#define NB_NAME_COLLIDE 2 /* Name collided - we failed */
+#define NB_OURS 3 /* We own the name */
+#define NB_NAME_OTHER 4 /* Name found - owned by other */
+ int ours; /* We own this name */
+ int users; /* Number of nb_ses's to this name */
+ struct timer_list timer; /* Our timer */
+ int timer_mode; /* Timer mode */
+#define NB_TIMER_ACQUIRE 1 /* Expiry means we got our name */
+#define NB_TIMER_COLLIDE 2 /* Expire a collded record */
+#define NB_TIMER_DROP 3 /* Drop a learned record */
+};
+
+
+/*
+ * LLC link manager
+ */
+
+extern struct nb_link *netbeui_find_link(u8 macaddr);
+extern struct nb_link *netbeui_create_link(u8 macaddr);
+extern int netbeui_destroy_link(u8 macaddr);
+
+/*
+ * Namespace manager
+ */
+
+extern struct nb_name *netbeui_find_name(char *name);
+extern struct nb_name *netbeui_add_name(char *name, int ours);
+extern struct nb_name *netbeui_lookup_name(char *name);
+extern int nb_delete_name(struct nb_name *name);
+
+
+#endif
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen, slshen@lbl.gov