diff options
author | Niklas Hallqvist <niklas@cvs.openbsd.org> | 1999-04-19 19:53:00 +0000 |
---|---|---|
committer | Niklas Hallqvist <niklas@cvs.openbsd.org> | 1999-04-19 19:53:00 +0000 |
commit | 07ab4a6768969d5c3cd88c965522e58f01af3cd9 (patch) | |
tree | 1a967d47368b8da13cdd89a20fe0c3213f198456 /sbin | |
parent | eafe5bb1bd2692d22c5438c1e62946675d8a2b0e (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.h | 18 |
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_ */ |