123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051 |
- #ifndef __UM_SLIRP_H
- #define __UM_SLIRP_H
- #define BUF_SIZE 1500
- /* two bytes each for a (pathological) max packet of escaped chars + *
- * terminating END char + initial END char */
- #define ENC_BUF_SIZE (2 * BUF_SIZE + 2)
- #define SLIRP_MAX_ARGS 100
- /*
- * XXX this next definition is here because I don't understand why this
- * initializer doesn't work in slirp_kern.c:
- *
- * argv : { init->argv[ 0 ... SLIRP_MAX_ARGS-1 ] },
- *
- * or why I can't typecast like this:
- *
- * argv : (char* [SLIRP_MAX_ARGS])(init->argv),
- */
- struct arg_list_dummy_wrapper { char *argv[SLIRP_MAX_ARGS]; };
- struct slirp_data {
- void *dev;
- struct arg_list_dummy_wrapper argw;
- int pid;
- int slave;
- unsigned char ibuf[ENC_BUF_SIZE];
- unsigned char obuf[ENC_BUF_SIZE];
- int more; /* more data: do not read fd until ibuf has been drained */
- int pos;
- int esc;
- };
- extern struct net_user_info slirp_user_info;
- extern int set_umn_addr(int fd, char *addr, char *ptp_addr);
- extern int slirp_user_read(int fd, void *buf, int len, struct slirp_data *pri);
- extern int slirp_user_write(int fd, void *buf, int len, struct slirp_data *pri);
- #endif
- /*
- * Overrides for Emacs so that we follow Linus's tabbing style.
- * Emacs will notice this stuff at the end of the file and automatically
- * adjust the settings for this buffer only. This must remain at the end
- * of the file.
- * ---------------------------------------------------------------------------
- * Local variables:
- * c-file-style: "linux"
- * End:
- */
|