1: /*
2: * $Id: journal.h,v 1.3 2025/03/09 19:14:25 snw Exp $
3: * Function prototypes, structs, and macros for FreeM
4: * journaling implementation
5: *
6: *
7: * Author: Serena Willis <snw@coherent-logic.com>
8: * Copyright (C) 1998 MUG Deutschland
9: * Copyright (C) 2020, 2025 Coherent Logic Development LLC
10: *
11: *
12: * This file is part of FreeM.
13: *
14: * FreeM is free software: you can redistribute it and/or modify
15: * it under the terms of the GNU Affero Public License as published by
16: * the Free Software Foundation, either version 3 of the License, or
17: * (at your option) any later version.
18: *
19: * FreeM is distributed in the hope that it will be useful,
20: * but WITHOUT ANY WARRANTY; without even the implied warranty of
21: * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
22: * GNU Affero Public License for more details.
23: *
24: * You should have received a copy of the GNU Affero Public License
25: * along with FreeM. If not, see <https://www.gnu.org/licenses/>.
26: *
27: * $Log: journal.h,v $
28: * Revision 1.3 2025/03/09 19:14:25 snw
29: * First phase of REUSE compliance and header reformat
30: *
31: *
32: * SPDX-FileCopyrightText: (C) 2025 Coherent Logic Development LLC
33: * SPDX-License-Identifier: AGPL-3.0-or-later
34: **/
35:
36: #ifndef _JOURNAL_H
37: # define _JOURNAL_H
38:
39: #include <time.h>
40: #include <limits.h>
41:
42: #if !defined(PATH_MAX) && defined(_SCO_DS)
43: # define PATH_MAX 4096
44: #endif
45:
46: #if !defined(PATH_MAX) && defined(__gnu_hurd__)
47: # define PATH_MAX 1024
48: #endif
49:
50: #if defined(__NetBSD__) || defined(__FreeBSD__) || defined(__OpenBSD__)
51: # include <sys/syslimits.h>
52: #endif
53:
54: #include "jnldefs.h"
55:
56: extern short jnl_enabled;
57:
58: extern short jnl_init(char *jnlfile, char *hostid, unsigned long jnl_cut_threshold, unsigned long tran_id);
59: extern short jnl_ent_init(jnl_ent_t *entry);
60: extern short jnl_ent_write(short action, char *key, char *data);
61:
62: #endif
63:
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>