summaryrefslogtreecommitdiff
path: root/sbin
diff options
context:
space:
mode:
authorNiklas Hallqvist <niklas@cvs.openbsd.org>1999-04-19 19:53:00 +0000
committerNiklas Hallqvist <niklas@cvs.openbsd.org>1999-04-19 19:53:00 +0000
commit07ab4a6768969d5c3cd88c965522e58f01af3cd9 (patch)
tree1a967d47368b8da13cdd89a20fe0c3213f198456 /sbin
parenteafe5bb1bd2692d22c5438c1e62946675d8a2b0e (diff)
./transport.h: Merge with EOM 1.15
Add transport_report Garbage collect transports via refcounting. Fix commentary. 1999 copyrights
Diffstat (limited to 'sbin')
-rw-r--r--sbin/isakmpd/transport.h18
1 files changed, 15 insertions, 3 deletions
diff --git a/sbin/isakmpd/transport.h b/sbin/isakmpd/transport.h
index 83524993f73..a51caf5cf48 100644
--- a/sbin/isakmpd/transport.h
+++ b/sbin/isakmpd/transport.h
@@ -1,8 +1,8 @@
-/* $OpenBSD: transport.h,v 1.5 1999/03/24 14:45:36 niklas Exp $ */
-/* $EOM: transport.h,v 1.12 1999/03/24 11:05:29 niklas Exp $ */
+/* $OpenBSD: transport.h,v 1.6 1999/04/19 19:52:59 niklas Exp $ */
+/* $EOM: transport.h,v 1.15 1999/04/11 15:07:36 ho Exp $ */
/*
- * Copyright (c) 1998 Niklas Hallqvist. All rights reserved.
+ * Copyright (c) 1998, 1999 Niklas Hallqvist. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
@@ -61,6 +61,12 @@ struct transport_vtbl {
/* Create a transport instance of this method. */
struct transport *(*create) (char *);
+ /* Remove a transport instance of this method. */
+ void (*remove) (struct transport *);
+
+ /* Report status of given transport */
+ void (*report) (struct transport *);
+
/* Let the given transport set it's bit in the fd_set passed in. */
int (*fd_set) (struct transport *, fd_set *, int);
@@ -101,6 +107,9 @@ struct transport {
/* Flags describing the transport. */
int flags;
+
+ /* References counter. */
+ int refcnt;
};
/* Set if this is a transport we want to listen on. */
@@ -114,6 +123,9 @@ extern void transport_init (void);
extern void transport_map (void (*) (struct transport *));
extern void transport_method_add (struct transport_vtbl *);
extern int transport_pending_wfd_set (fd_set *);
+extern void transport_reference (struct transport *);
+extern void transport_release (struct transport *);
+extern void transport_report (void);
extern void transport_send_messages (fd_set *);
#endif /* _TRANSPORT_H_ */