remove generated compile, depcomp, missing and mkinstalldirs
[nvi.git] / common / mark.h
blobabd9812ecda22b7c362870192bd775345cecfc70
1 /*-
2 * Copyright (c) 1992, 1993, 1994
3 * The Regents of the University of California. All rights reserved.
4 * Copyright (c) 1992, 1993, 1994, 1995, 1996
5 * Keith Bostic. All rights reserved.
7 * See the LICENSE file for redistribution information.
9 * $Id: mark.h,v 10.5 2000/07/14 14:29:16 skimo Exp $ (Berkeley) $Date: 2000/07/14 14:29:16 $
13 * The MARK and LMARK structures define positions in the file. There are
14 * two structures because the mark subroutines are the only places where
15 * anything cares about something other than line and column.
17 * Because of the different interfaces used by the db(3) package, curses,
18 * and users, the line number is 1 based and the column number is 0 based.
19 * Additionally, it is known that the out-of-band line number is less than
20 * any legal line number. The line number is of type db_recno_t, as that's
21 * the underlying type of the database. The column number is of type size_t,
22 * guaranteeing that we can malloc a line.
24 struct _mark {
25 #define OOBLNO 0 /* Out-of-band line number. */
26 db_recno_t lno; /* Line number. */
27 size_t cno; /* Column number. */
30 struct _lmark {
31 LIST_ENTRY(_lmark) q; /* Linked list of marks. */
32 db_recno_t lno; /* Line number. */
33 size_t cno; /* Column number. */
34 /* XXXX Needed ? Can non ascii-chars be mark names ? */
35 CHAR_T name; /* Mark name. */
37 #define MARK_DELETED 0x01 /* Mark was deleted. */
38 #define MARK_USERSET 0x02 /* User set this mark. */
39 u_int8_t flags;
42 #define ABSMARK1 '\'' /* Absolute mark name. */
43 #define ABSMARK2 '`' /* Absolute mark name. */