1 /* $MirOS: contrib/code/jupp/utils.h,v 1.4 2017/01/10 19:05:17 tg Exp $ */
6 * (C) 1992 Joseph H. Allen
7 * (C) 2001 Marek 'Marx' Grac
9 * This file is part of JOE (Joe's Own Editor)
12 #define _JOE_UTILS_H 1
16 #ifdef HAVE_SYS_TYPES_H
17 #include <sys/types.h> /* we need size_t, ssize_t */
24 * Functions which return minimum/maximum of two numbers
26 unsigned int uns_min PARAMS((unsigned int a, unsigned int b));
27 signed int int_min PARAMS((signed int a, int signed b));
28 signed long long_max PARAMS((signed long a, signed long b));
29 signed long long_min PARAMS((signed long a, signed long b));
31 /* Versions of 'read' and 'write' which automatically retry when interrupted */
32 ssize_t joe_read PARAMS((int fd, void *buf, size_t siz));
33 ssize_t joe_write PARAMS((int fd, void *buf, size_t siz));
35 /* wrappers to *alloc routines */
36 #define joe_malloc malloc
37 #define joe_calloc calloc
38 #define joe_realloc realloc
41 #ifndef HAVE_SIGHANDLER_T
42 typedef RETSIGTYPE (*sighandler_t)(int);
45 #ifdef NEED_TO_REINSTALL_SIGNAL
46 #define REINSTALL_SIGHANDLER(sig, handler) joe_set_signal(sig, handler)
48 #define REINSTALL_SIGHANDLER(sig, handler) do {} while(0)
51 /* wrapper to hide signal interface differrencies */
52 int joe_set_signal PARAMS((int signum, sighandler_t handler));
54 int parse_ws PARAMS((unsigned char **p,int cmt));
55 int parse_ident PARAMS((unsigned char **p,unsigned char *buf,int len));
56 int parse_kw PARAMS((unsigned char **p,unsigned char *kw));
57 int parse_tows PARAMS((unsigned char **p,unsigned char *buf));
58 int parse_field PARAMS((unsigned char **p,unsigned char *field));
59 int parse_char PARAMS((unsigned char **p,unsigned char c));
60 int parse_int PARAMS((unsigned char **p,int *buf));
61 int parse_string PARAMS((unsigned char **p,unsigned char *buf,int len));
62 int parse_range PARAMS((unsigned char **p,int *first,int *second));
64 void tty_xonoffbaudrst(void);