gno/bin/less/less.h
gdr-ftp 784e3de7cd Initial checkin of aroff, binprint, center, less, ls, make, makemake,
passwd, ps, purge, shutdown, stty, upper, and vi.  These sources are
for the versions of the utils shipped with GNO v2.0.4.
1998-03-09 08:30:21 +00:00

124 lines
2.7 KiB
C

/*
* Standard include file for "less".
*/
#ifdef __ORCAC__
#define _ORCAC_
#pragma optimize -1
/* #pragma lint -1 */
#endif
#include <stdlib.h>
#include <stdio.h>
#include <gno/gno.h>
/*
* Include the file of compile-time options.
*/
#include "defines.h"
/*
* Language details.
*/
#if !VOID
#define void int
#endif
#define public /* PUBLIC FUNCTION */
/*
* Special types and constants.
*/
typedef long POSITION;
/*
* {{ Warning: if POSITION is changed to other than "long",
* you may have to change some of the printfs which use "%ld"
* to print a variable of type POSITION. }}
*/
#define NULL_POSITION ((POSITION)(-1))
/*
* The type of an interrupt handler.
*/
#define HANDLER void
/*
* An IFILE represents an input file.
*/
#define IFILE VOID_POINTER
#define NULL_IFILE ((IFILE)NULL)
/*
* The structure used to represent a "screen position".
* This consists of a file position, and a screen line number.
* The meaning is that the line starting at the given file
* position is displayed on the ln-th line of the screen.
* (Screen lines before ln are empty.)
*/
struct scrpos
{
POSITION pos;
int ln;
};
typedef union parg
{
char *p_string;
int p_int;
} PARG;
#define NULL_PARG ((PARG *)NULL)
#define EOI (-1)
#ifndef NULL
#define NULL (0)
#endif
#define READ_INTR (-2)
/* How quiet should we be? */
#define NOT_QUIET 0 /* Ring bell at eof and for errors */
#define LITTLE_QUIET 1 /* Ring bell only for errors */
#define VERY_QUIET 2 /* Never ring bell */
/* How should we prompt? */
#define PR_SHORT 0 /* Prompt with colon */
#define PR_MEDIUM 1 /* Prompt with message */
#define PR_LONG 2 /* Prompt with longer message */
/* How should we handle backspaces? */
#define BS_SPECIAL 0 /* Do special things for underlining and bold */
#define BS_NORMAL 1 /* \b treated as normal char; actually output */
#define BS_CONTROL 2 /* \b treated as control char; prints as ^H */
/* How should we search? */
#define SRCH_FORW 0 /* Search forward from current position */
#define SRCH_BACK 1 /* Search backward from current position */
#define SRCH_NOMATCH 0100 /* Search for non-matching lines */
#define SRCH_PAST_EOF 0200 /* Search past end-of-file, into next file */
#define SRCH_FIRST_FILE 0400 /* Search starting at the first file */
#define SRCH_DIR(t) ((t) & 01)
#define SRCH_REVERSE(t) ((t) ^ 01)
/* Special chars used to tell put_line() to do something special */
#define NORMAL (0)
#define UNDERLINE (1)
#define BOLD (2)
#define BLINK (3)
#define INVIS (4)
#define CONTROL(c) ((c)&037)
#define ESC CONTROL('[')
#define SIGNAL(sig,func) signal(sig,func)
/* Library function declarations */
offset_t lseek();
#define BAD_LSEEK ((offset_t)-1)
VOID_POINTER calloc();
#define ch_zero() ((POSITION)0)
#include "proto.h"