X-Git-Url: https://ncurses.scripts.mit.edu/?a=blobdiff_plain;f=progs%2Fprogs.priv.h;h=84b46c01270a9c9ec89b9a3bb90d1a05922f0278;hb=HEAD;hp=fb5a84760733940511a27d3f02e32e7467e3ea2c;hpb=661078ddbde3ce0f3b06e95642fbb9b5fef7dca1;p=ncurses.git diff --git a/progs/progs.priv.h b/progs/progs.priv.h index fb5a8476..fea18b8d 100644 --- a/progs/progs.priv.h +++ b/progs/progs.priv.h @@ -1,5 +1,6 @@ /**************************************************************************** - * Copyright (c) 1998 Free Software Foundation, Inc. * + * Copyright 2019-2022,2024 Thomas E. Dickey * + * Copyright 1998-2015,2017 Free Software Foundation, Inc. * * * * Permission is hereby granted, free of charge, to any person obtaining a * * copy of this software and associated documentation files (the * @@ -27,62 +28,37 @@ ****************************************************************************/ /**************************************************************************** - * Author: Thomas E. Dickey 1997,1998 * + * Author: Thomas E. Dickey 1997-on * ****************************************************************************/ /* - * $Id: progs.priv.h,v 1.17 1998/02/11 12:14:03 tom Exp $ + * $Id: progs.priv.h,v 1.62 2024/04/08 17:28:28 tom Exp $ * * progs.priv.h * * Header file for curses utility programs */ -#include +#ifndef PROGS_PRIV_H +#define PROGS_PRIV_H 1 -#ifdef USE_RCS_IDS -#define MODULE_ID(id) static const char Ident[] = id; -#else -#define MODULE_ID(id) /*nothing*/ -#endif +#include -#include #include -#include -#include - -#if HAVE_UNISTD_H -#include -#else -# if HAVE_LIBC_H -# include -# endif -#endif - -#if HAVE_SYS_BSDTYPES_H -#include /* needed for ISC */ -#endif - -#if HAVE_LIMITS_H -# include -#elif HAVE_SYS_PARAM_H -# include -#endif - -#ifndef PATH_MAX -# if defined(_POSIX_PATH_MAX) -# define PATH_MAX _POSIX_PATH_MAX -# elif defined(MAXPATHLEN) -# define PATH_MAX MAXPATHLEN -# else -# define PATH_MAX 255 /* the Posix minimum pathsize */ -# endif -#endif #if HAVE_DIRENT_H # include # define NAMLEN(dirent) strlen((dirent)->d_name) +# if defined(_FILE_OFFSET_BITS) && defined(HAVE_STRUCT_DIRENT64) +# if !defined(_LP64) && (_FILE_OFFSET_BITS == 64) +# define DIRENT struct dirent64 +# else +# define DIRENT struct dirent +# endif +# else +# define DIRENT struct dirent +# endif #else -# define dirent direct +# define DIRENT struct direct # define NAMLEN(dirent) (dirent)->d_namlen # if HAVE_SYS_NDIR_H # include @@ -95,15 +71,9 @@ # endif #endif -#include - -#if DECL_ERRNO -extern int errno; -#endif - #if HAVE_GETOPT_H #include -#else +#elif !defined(HAVE_GETOPT_HEADER) /* 'getopt()' may be prototyped in , but declaring its * variables doesn't hurt. */ @@ -111,49 +81,57 @@ extern char *optarg; extern int optind; #endif /* HAVE_GETOPT_H */ -#include -#include #include -#include -/* usually in */ -#ifndef STDOUT_FILENO -#define STDOUT_FILENO 1 -#endif - -#ifndef STDERR_FILENO -#define STDERR_FILENO 2 -#endif - -#ifndef EXIT_SUCCESS -#define EXIT_SUCCESS 0 -#endif - -#ifndef EXIT_FAILURE -#define EXIT_FAILURE 1 -#endif - -#ifndef F_OK -#define F_OK 0 /* Test for existence. */ +#if HAVE_NC_FREEALL +#undef ExitProgram +#ifdef USE_LIBTINFO +#define ExitProgram(code) exit_terminfo(code) +#else +#define ExitProgram(code) _nc_free_tic(code) #endif - -/* usually in */ -#ifndef STDOUT_FILENO -#define STDOUT_FILENO 1 #endif -#ifndef STDERR_FILENO -#define STDERR_FILENO 2 -#endif +/* error-returns for tput */ +#define ErrUsage 2 +#define ErrTermType 3 +#define ErrCapName 4 +#define ErrSystem(n) (4 + (n)) /* We use isascii only to guard against use of 7-bit ctype tables in the * isprint test in infocmp. */ -#ifndef HAVE_ISASCII +#if !HAVE_ISASCII # undef isascii # if ('z'-'a' == 25) && ('z' < 127) && ('Z'-'A' == 25) && ('Z' < 127) && ('9' < 127) -# define isascii(c) (((c) & 0xff) <= 127) +# define isascii(c) (UChar(c) <= 127) # else -# define isascii(c) 1 /* not really ascii anyway */ +# define isascii(c) 1 /* not really ascii anyway */ # endif #endif + +#define VtoTrace(opt) (unsigned) ((opt > 0) ? opt : (opt == 0)) + +/* + * If configured for tracing, the debug- and trace-output are merged together + * in the trace file for "upper" levels of the verbose option. + */ +#ifdef TRACE +#define use_verbosity(level) do { \ + set_trace_level(level); \ + if (_nc_tracing > DEBUG_LEVEL(2)) \ + _nc_tracing |= TRACE_MAXIMUM; \ + else if (_nc_tracing == DEBUG_LEVEL(2)) \ + _nc_tracing |= TRACE_ORDINARY; \ + if (level >= 2) \ + curses_trace(_nc_tracing); \ + } while (0) +#else +#define use_verbosity(level) do { set_trace_level(level); } while (0) +#endif + +#ifndef CUR +#define CUR ((TERMTYPE *)(cur_term))-> +#endif + +#endif /* PROGS_PRIV_H */