/[dynamips]/trunk/net_io_bridge.h
This is repository of my old source code which isn't updated any more. Go to git.rot13.org for current projects!
ViewVC logotype

Annotation of /trunk/net_io_bridge.h

Parent Directory Parent Directory | Revision Log Revision Log


Revision 6 - (hide annotations)
Sat Oct 6 16:09:07 2007 UTC (16 years, 5 months ago) by dpavlin
Original Path: upstream/dynamips-0.2.6-RC5/net_io_bridge.h
File MIME type: text/plain
File size: 1498 byte(s)
dynamips-0.2.6-RC5

1 dpavlin 1 /*
2     * Cisco 7200 (Predator) simulation platform.
3     * Copyright (c) 2006 Christophe Fillot (cf@utc.fr)
4     *
5     * NetIO bridge.
6     */
7    
8     #ifndef __NET_IO_BRIDGE_H__
9     #define __NET_IO_BRIDGE_H__
10    
11     #include <pthread.h>
12    
13     #include "utils.h"
14     #include "net_io.h"
15    
16     #define NETIO_BRIDGE_MAX_NIO 32
17    
18     typedef struct netio_bridge netio_bridge_t;
19     struct netio_bridge {
20     char *name;
21     pthread_mutex_t lock;
22     netio_desc_t *nio[NETIO_BRIDGE_MAX_NIO];
23     };
24    
25     #define NETIO_BRIDGE_LOCK(t) pthread_mutex_lock(&(t)->lock)
26     #define NETIO_BRIDGE_UNLOCK(t) pthread_mutex_unlock(&(t)->lock)
27    
28     /* Acquire a reference to NetIO bridge from the registry (inc ref count) */
29     netio_desc_t *netio_bridge_acquire(char *name);
30    
31     /* Release a NetIO bridge (decrement reference count) */
32     int netio_bridge_release(char *name);
33    
34     /* Create a virtual bridge */
35     netio_bridge_t *netio_bridge_create(char *name);
36    
37     /* Add a NetIO descriptor to a virtual bridge */
38     int netio_bridge_add_netio(netio_bridge_t *t,char *nio_name);
39    
40     /* Remove a NetIO descriptor from a virtual bridge */
41     int netio_bridge_remove_netio(netio_bridge_t *t,char *nio_name);
42    
43     /* Save the configuration of a brdige */
44     void netio_bridge_save_config(netio_bridge_t *t,FILE *fd);
45    
46     /* Save configurations of all NIO bridges */
47     void netio_bridge_save_config_all(FILE *fd);
48    
49     /* Delete a virtual bridge */
50     int netio_bridge_delete(char *name);
51    
52     /* Delete all virtual bridges */
53     int netio_bridge_delete_all(void);
54    
55     /* Start a virtual bridge */
56     int netio_bridge_start(char *filename);
57    
58     #endif

  ViewVC Help
Powered by ViewVC 1.1.26