+extern int wrap_recv (int fd, void *buf, int len);
+extern int wrap_send (int fd, void *buf, int len);
+extern void socket_free (Socket * s);
+extern void socket_free_parent (Socket * s);
+extern Socket *socket_listen (char *path);
+extern Socket *socket_accept (Socket * l);
+extern Socket *socket_connect (char *path);
+extern void socket_consume_msg (Socket * s);
+extern void socket_pre_select (Socket * s, fd_set * rfds, fd_set * wfds);
+extern int socket_post_select (Socket * s, fd_set * rfds, fd_set * wfds);
+extern int socket_write (Socket * s, void *buf, int len);
+/* serial.c */
+extern TTY *serial_open (char *path, int lock_mode);
+/* cmd.c */
+extern int cmd_parse (Cmd * c, Context * ctx, ANSI * a, char *buf);
+extern void cmd_show_status (Cmd * c, Context * ctx);
+extern int cmd_key (Cmd * c, Context * ctx, ANSI * a, int key);
+extern int cmd_deactivate (Cmd * c, Context * ctx);
+extern int cmd_activate (Cmd * c, Context * ctx);
+extern void cmd_new_status (Cmd * c, Context * ctx, char *msg);
+extern Cmd *cmd_new (void);
+/* lockfile.c */
+extern Filelist *filelist_new (void);
+extern void filelist_remove (Filelist * fl, Filelist_ent * fle);
+extern void filelist_add (Filelist * fl, char *fn);
+extern void filelist_free (Filelist * fl);
+extern void filelist_print (Filelist * fl, FILE * f);
+extern int lockfile_make (char *name);
+extern void lockfile_add_places (Filelist * fl, char *leaf);
+extern void lockfile_regularize_and_add (Filelist * fl, char *leaf);
+extern void lockfile_add_name_from_path (Filelist * fl, char *file);
+extern void lockfile_add_name_from_dev (Filelist * fl, dev_t dev);
+extern void lockfile_check_dir_for_dev (Filelist * fl, char *dir, dev_t dev);
+extern Filelist *lockfile_make_list (char *device);
+extern void lockfile_remove_stale (Filelist * fl);
+extern Filelist *lockfile_lock (Filelist * fl);
+extern void lockfile_unlock (Filelist * fl);
+extern int serial_lock_check (Serial_lock * l);
+extern void serial_lock_free (Serial_lock * l);
+extern Serial_lock *serial_lock_new (char *dev, int mode);
+/* utf8.c */
+extern int utf8_flush (Context * c);
+extern int utf8_parse (Context * c, uint32_t ch);
+extern UTF8 *utf8_new (void);
+extern int utf8_encode (char *ptr, int ch);
+extern int utf8_emit (TTY * t, int ch);
+/* vt102_charset.c */
+extern uint32_t vt102_charset_c0[128];
+extern uint32_t vt102_charset_us[128];
+extern uint32_t vt102_charset_uk[128];
+extern uint32_t vt102_charset_vt52[128];
+extern uint32_t vt102_charset_gl[128];
+extern uint32_t *charset_from_csid[];
+/* rotate.c */
+extern void rotate_gzip (char *file);
+extern void rotate (char *file);
+extern int rotate_check (char *file);
+/* raw.c */
+extern RX *rx_new_raw (int rfd, int wfd);
+extern TTY *terminal_new_raw (int rfd, int wfd);
+extern ANSI *ansi_new_raw (int rfd, int wfd);