snoop.h revision 6712
1/* 2 * Copyright (c) 1995 Ugen J.S.Antsilevich 3 * 4 * Redistribution and use in source forms, with and without modification, 5 * are permitted provided that this entire comment appears intact. 6 * 7 * Redistribution in binary form may occur without any restrictions. 8 * Obviously, it would be nice if you gave credit where credit is due 9 * but requiring it would be too onerous. 10 * 11 * This software is provided ``AS IS'' without any warranties of any kind. 12 * 13 * Snoop stuff. 14 */ 15 16#ifndef SNOOP_H 17#define SNOOP_H 18 19#define SNOOP_MINLEN (4*1024) /* This should be power of 2. 20 * 4K tested to be the minimum 21 * for which on normal tty 22 * usage there is no need to 23 * allocate more. 24 */ 25#define SNOOP_MAXLEN (64*1024) /* This one also,64K enough 26 * If we grow more,something 27 * really bad in this world.. 28 */ 29 30/* 31 * This is the main snoop per-device 32 * structure... 33 */ 34 35struct snoop { 36 dev_t snp_target; /* major/minor number of device*/ 37 u_long snp_len; /* buffer data length */ 38 u_long snp_base; /* buffer data base */ 39 u_long snp_blen; /* Overall buffer len */ 40 caddr_t snp_buf; /* Data buffer */ 41 int snp_flags; /* Flags place */ 42#define SNOOP_NBIO 0x0001 43#define SNOOP_ASYNC 0x0002 44#define SNOOP_OPEN 0x0004 45#define SNOOP_RWAIT 0x0008 46#define SNOOP_OFLOW 0x0010 47#define SNOOP_DOWN 0x0020 48 struct selinfo snp_sel; /* Selection info */ 49}; 50 51/* 52 * Theese are snoop io controls 53 * SNPSTTY accepts 'struct snptty' as input. 54 * If ever type or unit set to -1,snoop device 55 * detached from it's current tty. 56 */ 57 58#define SNPSTTY _IOW('T', 90, dev_t) 59#define SNPGTTY _IOR('T', 89, dev_t) 60 61/* 62 * Theese values would be returned by FIONREAD ioctl 63 * instead of number of characters in buffer in case 64 * of specific errors. 65 */ 66#define SNP_OFLOW -1 67#define SNP_TTYCLOSE -2 68#define SNP_DETACH -3 69 70#endif 71