gno/bin/less/less.h

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"