1 /* $OpenBSD: tag.h,v 1.10 2020/01/20 10:29:31 schwarze Exp $ */ 2 /* 3 * Copyright (c) 2015, 2018, 2019, 2020 Ingo Schwarze <schwarze@openbsd.org> 4 * 5 * Permission to use, copy, modify, and distribute this software for any 6 * purpose with or without fee is hereby granted, provided that the above 7 * copyright notice and this permission notice appear in all copies. 8 * 9 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES 10 * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF 11 * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR 12 * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 13 * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN 14 * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF 15 * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 16 */ 17 18 /* 19 * Tagging priorities. 20 * Lower numbers indicate higher importance. 21 */ 22 #define TAG_MANUAL 1 /* Set with a .Tg macro. */ 23 #define TAG_STRONG 2 /* Good automatic tagging. */ 24 #define TAG_WEAK (INT_MAX - 2) /* Dubious automatic tagging. */ 25 #define TAG_FALLBACK (INT_MAX - 1) /* Tag only used if unique. */ 26 #define TAG_DELETE (INT_MAX) /* Tag not used at all. */ 27 28 29 struct tag_files { 30 char ofn[20]; 31 char tfn[20]; 32 char *tagname; 33 int ofd; 34 int tfd; 35 pid_t tcpgid; 36 pid_t pager_pid; 37 }; 38 39 40 struct tag_files *tag_init(char *); 41 void tag_put(const char *, int, size_t); 42 void tag_write(void); 43 void tag_unlink(void); 44