Annotation of src/usr.bin/talk/talk.h, Revision 1.11
1.11 ! chl 1: /* $OpenBSD: talk.h,v 1.10 2003/06/03 02:56:17 millert Exp $ */
1.1 deraadt 2: /* $NetBSD: talk.h,v 1.3 1994/12/09 02:14:27 jtc Exp $ */
3:
4: /*
5: * Copyright (c) 1983, 1993
6: * The Regents of the University of California. All rights reserved.
7: *
8: * Redistribution and use in source and binary forms, with or without
9: * modification, are permitted provided that the following conditions
10: * are met:
11: * 1. Redistributions of source code must retain the above copyright
12: * notice, this list of conditions and the following disclaimer.
13: * 2. Redistributions in binary form must reproduce the above copyright
14: * notice, this list of conditions and the following disclaimer in the
15: * documentation and/or other materials provided with the distribution.
1.10 millert 16: * 3. Neither the name of the University nor the names of its contributors
1.1 deraadt 17: * may be used to endorse or promote products derived from this software
18: * without specific prior written permission.
19: *
20: * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
21: * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
22: * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
23: * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
24: * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
25: * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
26: * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
27: * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
28: * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
29: * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
30: * SUCH DAMAGE.
31: *
32: * @(#)talk.h 8.1 (Berkeley) 6/6/93
33: */
34:
1.3 pjanzen 35: #include <sys/types.h>
36: #include <sys/socket.h>
37: #include <netinet/in.h>
38: #include <protocols/talkd.h>
1.1 deraadt 39: #include <curses.h>
1.9 millert 40: #include <signal.h>
1.3 pjanzen 41: #include <string.h>
1.4 millert 42: #include <err.h>
1.1 deraadt 43:
44: extern int sockt;
45: extern int curses_initialized;
46: extern int invitation_waiting;
1.6 hugh 47: extern int high_print;
1.8 millert 48:
49: extern bool smooth_scroll;
1.9 millert 50: extern volatile sig_atomic_t gotwinch;
1.1 deraadt 51:
52: extern char *current_state;
53: extern int current_line;
54:
55: typedef struct xwin {
56: WINDOW *x_win;
57: int x_nlines;
58: int x_ncols;
59: int x_line;
60: int x_col;
61: char kill;
62: char cerase;
63: char werase;
64: } xwin_t;
65:
66: extern xwin_t my_win;
67: extern xwin_t his_win;
68: extern WINDOW *line_win;
1.3 pjanzen 69:
1.7 millert 70: void announce_invite(void);
71: int check_local(void);
72: void ctl_transact(struct in_addr, CTL_MSG, int, CTL_RESPONSE *);
73: void display(xwin_t *, char *, int);
74: void disp_msg(int);
75: void end_msgs(void);
76: void get_addrs(char *, char *);
77: void get_names(int, char **);
78: void init_display(void);
79: void invite_remote(void);
80: int look_for_invite(CTL_RESPONSE *);
81: int max(int, int);
82: void message(char *);
83: void open_ctl(void);
84: void open_sockt(void);
85: void quit(char *, int);
86: int readwin(WINDOW *, int, int);
87: void re_invite(int);
88: void send_delete(void);
89: void set_edit_chars(void);
90: void sig_sent(int);
1.9 millert 91: void sig_winch(int);
1.7 millert 92: void start_msgs(void);
93: void talk(void);
94: void xscroll(xwin_t *, int);
1.9 millert 95: void resize_display(void);