Commit 401bed52 authored by Rusty Russell's avatar Rusty Russell

Merge branch 'ntdb' of https://github.com/ddiss/ccan into ddiss-ntdb

parents 8c2ee69f e723c221
ntdb_add_flag: void (struct ntdb_context *, unsigned int)
ntdb_append: enum NTDB_ERROR (struct ntdb_context *, NTDB_DATA, NTDB_DATA)
ntdb_chainlock: enum NTDB_ERROR (struct ntdb_context *, NTDB_DATA)
ntdb_chainlock_read: enum NTDB_ERROR (struct ntdb_context *, NTDB_DATA)
ntdb_chainunlock: void (struct ntdb_context *, NTDB_DATA)
ntdb_chainunlock_read: void (struct ntdb_context *, NTDB_DATA)
ntdb_check_: enum NTDB_ERROR (struct ntdb_context *, enum NTDB_ERROR (*)(NTDB_DATA, NTDB_DATA, void *), void *)
ntdb_close: int (struct ntdb_context *)
ntdb_delete: enum NTDB_ERROR (struct ntdb_context *, NTDB_DATA)
ntdb_errorstr: const char *(enum NTDB_ERROR)
ntdb_exists: bool (struct ntdb_context *, NTDB_DATA)
ntdb_fd: int (const struct ntdb_context *)
ntdb_fetch: enum NTDB_ERROR (struct ntdb_context *, NTDB_DATA, NTDB_DATA *)
ntdb_firstkey: enum NTDB_ERROR (struct ntdb_context *, NTDB_DATA *)
ntdb_foreach_: void (int (*)(struct ntdb_context *, void *), void *)
ntdb_get_attribute: enum NTDB_ERROR (struct ntdb_context *, union ntdb_attribute *)
ntdb_get_flags: unsigned int (struct ntdb_context *)
ntdb_get_seqnum: int64_t (struct ntdb_context *)
ntdb_lockall: enum NTDB_ERROR (struct ntdb_context *)
ntdb_lockall_read: enum NTDB_ERROR (struct ntdb_context *)
ntdb_name: const char *(const struct ntdb_context *)
ntdb_nextkey: enum NTDB_ERROR (struct ntdb_context *, NTDB_DATA *)
ntdb_open: struct ntdb_context *(const char *, int, int, mode_t, union ntdb_attribute *)
ntdb_parse_record_: enum NTDB_ERROR (struct ntdb_context *, NTDB_DATA, enum NTDB_ERROR (*)(NTDB_DATA, NTDB_DATA, void *), void *)
ntdb_remove_flag: void (struct ntdb_context *, unsigned int)
ntdb_repack: enum NTDB_ERROR (struct ntdb_context *)
ntdb_set_attribute: enum NTDB_ERROR (struct ntdb_context *, const union ntdb_attribute *)
ntdb_store: enum NTDB_ERROR (struct ntdb_context *, NTDB_DATA, NTDB_DATA, int)
ntdb_summary: enum NTDB_ERROR (struct ntdb_context *, enum ntdb_summary_flags, char **)
ntdb_transaction_cancel: void (struct ntdb_context *)
ntdb_transaction_commit: enum NTDB_ERROR (struct ntdb_context *)
ntdb_transaction_prepare_commit: enum NTDB_ERROR (struct ntdb_context *)
ntdb_transaction_start: enum NTDB_ERROR (struct ntdb_context *)
ntdb_traverse_: int64_t (struct ntdb_context *, int (*)(struct ntdb_context *, NTDB_DATA, NTDB_DATA, void *), void *)
ntdb_unlockall: void (struct ntdb_context *)
ntdb_unlockall_read: void (struct ntdb_context *)
ntdb_unset_attribute: void (struct ntdb_context *, enum ntdb_attribute_type)
ntdb_wipe_all: enum NTDB_ERROR (struct ntdb_context *)
ntdb_add_flag: void (struct ntdb_context *, unsigned int)
ntdb_append: enum NTDB_ERROR (struct ntdb_context *, NTDB_DATA, NTDB_DATA)
ntdb_chainlock: enum NTDB_ERROR (struct ntdb_context *, NTDB_DATA)
ntdb_chainlock_read: enum NTDB_ERROR (struct ntdb_context *, NTDB_DATA)
ntdb_chainunlock: void (struct ntdb_context *, NTDB_DATA)
ntdb_chainunlock_read: void (struct ntdb_context *, NTDB_DATA)
ntdb_check_: enum NTDB_ERROR (struct ntdb_context *, enum NTDB_ERROR (*)(NTDB_DATA, NTDB_DATA, void *), void *)
ntdb_close: int (struct ntdb_context *)
ntdb_delete: enum NTDB_ERROR (struct ntdb_context *, NTDB_DATA)
ntdb_errorstr: const char *(enum NTDB_ERROR)
ntdb_exists: bool (struct ntdb_context *, NTDB_DATA)
ntdb_fd: int (const struct ntdb_context *)
ntdb_fetch: enum NTDB_ERROR (struct ntdb_context *, NTDB_DATA, NTDB_DATA *)
ntdb_firstkey: enum NTDB_ERROR (struct ntdb_context *, NTDB_DATA *)
ntdb_foreach_: void (int (*)(struct ntdb_context *, void *), void *)
ntdb_get_attribute: enum NTDB_ERROR (struct ntdb_context *, union ntdb_attribute *)
ntdb_get_flags: unsigned int (struct ntdb_context *)
ntdb_get_seqnum: int64_t (struct ntdb_context *)
ntdb_lockall: enum NTDB_ERROR (struct ntdb_context *)
ntdb_lockall_read: enum NTDB_ERROR (struct ntdb_context *)
ntdb_name: const char *(const struct ntdb_context *)
ntdb_nextkey: enum NTDB_ERROR (struct ntdb_context *, NTDB_DATA *)
ntdb_open: struct ntdb_context *(const char *, int, int, mode_t, union ntdb_attribute *)
ntdb_parse_record_: enum NTDB_ERROR (struct ntdb_context *, NTDB_DATA, enum NTDB_ERROR (*)(NTDB_DATA, NTDB_DATA, void *), void *)
ntdb_remove_flag: void (struct ntdb_context *, unsigned int)
ntdb_repack: enum NTDB_ERROR (struct ntdb_context *)
ntdb_set_attribute: enum NTDB_ERROR (struct ntdb_context *, const union ntdb_attribute *)
ntdb_store: enum NTDB_ERROR (struct ntdb_context *, NTDB_DATA, NTDB_DATA, int)
ntdb_summary: enum NTDB_ERROR (struct ntdb_context *, enum ntdb_summary_flags, char **)
ntdb_transaction_cancel: void (struct ntdb_context *)
ntdb_transaction_commit: enum NTDB_ERROR (struct ntdb_context *)
ntdb_transaction_prepare_commit: enum NTDB_ERROR (struct ntdb_context *)
ntdb_transaction_start: enum NTDB_ERROR (struct ntdb_context *)
ntdb_traverse_: int64_t (struct ntdb_context *, int (*)(struct ntdb_context *, NTDB_DATA, NTDB_DATA, void *), void *)
ntdb_unlockall: void (struct ntdb_context *)
ntdb_unlockall_read: void (struct ntdb_context *)
ntdb_unset_attribute: void (struct ntdb_context *, enum ntdb_attribute_type)
ntdb_wipe_all: enum NTDB_ERROR (struct ntdb_context *)
../../licenses/LGPL-3
\ No newline at end of file
CC=gcc
CFLAGS=-g -O0 -Wall -W -I../../ -I./
LIBS=
LIBNTDB_OBJ = ccan_hash.o ccan_tally.o check.o free.o hash.o io.o lock.o open.o summary.o ntdb.o transaction.o traverse.o
all: ntdbtorture ntdbtool ntdbdump ntdbrestore ntdbbackup
ntdbtorture: tools/ntdbtorture.c libntdb.a
$(CC) $(CFLAGS) -o tools/$@ tools/$@.c libntdb.a $(LIBS)
ntdbtool: tools/ntdbtool.c libntdb.a
$(CC) $(CFLAGS) -o tools/$@ tools/$@.c libntdb.a $(LIBS)
ntdbdump: tools/ntdbdump.c libntdb.a
$(CC) $(CFLAGS) -o tools/$@ tools/$@.c libntdb.a $(LIBS)
ntdbrestore: tools/ntdbrestore.c libntdb.a
$(CC) $(CFLAGS) -o tools/$@ tools/$@.c libntdb.a $(LIBS)
ntdbbackup: tools/ntdbbackup.c libntdb.a
$(CC) $(CFLAGS) -o tools/$@ tools/$@.c libntdb.a $(LIBS)
libntdb.a: $(LIBNTDB_OBJ)
@echo Creating library $@
ar r libntdb.a $(LIBNTDB_OBJ)
ranlib libntdb.a
check.o: check.c
@echo Compiling $@
$(CC) $(CFLAGS) -c check.c -o $@
free.o: free.c
@echo Compiling $@
$(CC) $(CFLAGS) -c free.c -o $@
hash.o: hash.c
@echo Compiling $@
$(CC) $(CFLAGS) -c hash.c -o $@
io.o: io.c
@echo Compiling $@
$(CC) $(CFLAGS) -c io.c -o $@
lock.o: lock.c
@echo Compiling $@
$(CC) $(CFLAGS) -c lock.c -o $@
open.o: open.c
@echo Compiling $@
$(CC) $(CFLAGS) -c open.c -o $@
summary.o: summary.c
@echo Compiling $@
$(CC) $(CFLAGS) -c summary.c -o $@
ntdb.o: ntdb.c
@echo Compiling $@
$(CC) $(CFLAGS) -c ntdb.c -o $@
transaction.o: transaction.c
@echo Compiling $@
$(CC) $(CFLAGS) -c transaction.c -o $@
traverse.o: traverse.c
@echo Compiling $@
$(CC) $(CFLAGS) -c traverse.c -o $@
ccan_hash.o: ../hash/hash.c
@echo Compiling $@
$(CC) $(CFLAGS) -c ../hash/hash.c -o $@
ccan_tally.o: ../tally/tally.c
@echo Compiling $@
$(CC) $(CFLAGS) -c ../tally/tally.c -o $@
clean:
rm -f *.o
rm -f *.a
rm -f tools/ntdbtorture tools/ntdbtool tools/ntdbdump tools/ntdbrestore tools/ntdbbackup
#include "config.h"
#include <stdio.h>
#include <string.h>
/**
* ntdb - Next Generation Trivial Database
*
* Example:
* #include <stdio.h>
* #include <err.h>
* #include "ntdb.h"
*
* int main(int argc, char *argv[])
* {
* NTDB_DATA key = ntdb_mkdata("key", 3);
* NTDB_DATA val = ntdb_mkdata("val", 3);
*
* ntdb = ntdb_open("example.ntdb", NTDB_DEFAULT,
* O_RDWR | O_CREAT | O_TRUNC, 0600, NULL);
* if (ntdb == NULL)
* errx(1, "failed to open database file");
*
* ntdb_store(ntdb, key, val, NTDB_INSERT);
*
* ntdb_close(ntdb);
*
* return 0;
* }
*
* License: LGPL (v3 or any later version)
* Authors: Rusty Russell
* Andrew Tridgell
* Jeremy Allison
* Jelmer Vernooij
* Volker Lendecke
* Andrew Esh
* Simon McVittie
* Tim Potter
*/
int main(int argc, char *argv[])
{
if (argc != 2)
return 1;
if (strcmp(argv[1], "depends") == 0)
return 0;
return 1;
}
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
<?xml version="1.0"?>
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN" "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
<refentry>
<refmeta>
<refentrytitle>ntdb</refentrytitle>
<manvolnum>3</manvolnum>
<refmiscinfo class="source">Samba</refmiscinfo>
<refmiscinfo class="manual">System Administration tools</refmiscinfo>
<refmiscinfo class="version">4.1</refmiscinfo>
</refmeta>
<refnamediv>
<refname>ntdb</refname>
<refpurpose>A not-so trivial keyword/data database system</refpurpose>
</refnamediv>
<refsynopsisdiv>
<synopsis>#include &lt;ntdb.h&gt;</synopsis>
</refsynopsisdiv>
<refsect1><title>DESCRIPTION</title>
<para>
If you have previously used the tdb library from Samba, much of
this will seem familiar, but there are some API changes which a
compiler will warn you about if you simply replace 'tdb' with
'ntdb' in your code! The on-disk format for ntdb is
incompatible with tdb.
</para>
<para>
tdb's API was based on gdbm, and ntdb continues this tradition,
with enhancements. A differences guide is available in the text
file <filename>lib/ntdb/doc/TDB_porting.txt</filename> in the
SAMBA source tree.
</para>
</refsect1>
<refsect1><title>NTDB API OVERVIEW</title>
<para>
The complete API is documented in the ntdb.h header, which is
kept up-to-date and recommended reading.
</para>
<para>
Normal usage is to call ntdb_open() to create or open an ntdb
file. ntdb_store() is used to add records, ntdb_fetch() is used
to fetch them. Traversals are supported via callback
(ntdb_traverse()) or iteration (ntdb_firstkey() and
ntdb_nextkey()). Transactions are supported for batching
updates or reads atomically, using ntdb_transaction_start() and
ntdb_transaction_commit().
</para>
<refsect2><title>Use With Talloc</title>
<para>
ntdb_open() takes an optional linked list of attributes:
in particular you can specify an alternate allocator (such as
talloc):
</para>
<programlisting>
#include &lt;talloc.h&gt;
#include &lt;ntdb.h&gt;
static void *my_alloc(const void *owner, size_t len, void *priv)
{
return talloc_size(owner, len);
}
static void *my_expand(void *old, size_t newlen, void *priv)
{
return talloc_realloc_size(NULL, old, newlen);
}
static void my_free(void *old, void *priv)
{
talloc_free(old);
}
/* This opens an ntdb file as a talloc object with given parent. */
struct ntdb_context *ntdb_open_talloc(const void *parent,
const char *filename)
{
struct ntdb_context *ntdb;
union ntdb_attribute alloc;
alloc.base.attr = NTDB_ATTRIBUTE_ALLOCATOR;
alloc.base.next = NULL;
alloc.alloc.alloc = my_alloc;
alloc.alloc.expand = my_expand;
alloc.alloc.free = my_free;
ntdb = ntdb_open(filename, NTDB_DEFAULT, O_RDWR|O_CREAT, 0600,
&amp;alloc);
if (ntdb) {
talloc_steal(parent, ntdb);
talloc_set_name(ntdb, "%s", filename);
}
return ntdb;
}
</programlisting>
</refsect2>
</refsect1>
<refsect1><title>SEE ALSO</title>
<para>
<ulink url="http://tdb.samba.org/"/>
</para>
</refsect1>
<refsect1><title>AUTHOR</title>
<para> The original tdb software was created by Andrew Tridgell, and
is now developed by the
Samba Team as an Open Source project similar to the way the
Linux kernel is developed. ntdb was derived from tdb, but mostly
rewritten by Rusty Russell.
</para>
</refsect1>
<refsect1><title>COPYRIGHT/LICENSE</title>
<para>
Copyright (C) Rusty Russell 2013, IBM Corporation
</para>
<para>
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as
published by the Free Software Foundation; either version 3 of the
License, or (at your option) any later version.
</para>
<para>
This program is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
General Public License for more details.
</para>
<para>
You should have received a copy of the GNU General Public License
along with this program; if not, see http://www.gnu.org/licenses/.
</para>
</refsect1>
</refentry>
<?xml version="1.0" encoding="iso-8859-1"?>
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN" "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
<refentry id="ntdbbackup.8">
<refmeta>
<refentrytitle>ntdbbackup</refentrytitle>
<manvolnum>8</manvolnum>
<refmiscinfo class="source">Samba</refmiscinfo>
<refmiscinfo class="manual">System Administration tools</refmiscinfo>
<refmiscinfo class="version">4.1</refmiscinfo>
</refmeta>
<refnamediv>
<refname>ntdbbackup</refname>
<refpurpose>tool for backing up and for validating the integrity of samba .ntdb files</refpurpose>
</refnamediv>
<refsynopsisdiv>
<cmdsynopsis>
<command>ntdbbackup</command>
<arg choice="opt">-s suffix</arg>
<arg choice="opt">-v</arg>
<arg choice="opt">-h</arg>
</cmdsynopsis>
</refsynopsisdiv>
<refsect1>
<title>DESCRIPTION</title>
<para>This tool is part of the <citerefentry><refentrytitle>samba</refentrytitle>
<manvolnum>1</manvolnum></citerefentry> suite.</para>
<para><command>ntdbbackup</command> is a tool that may be used to backup samba .ntdb
files. This tool may also be used to verify the integrity of the .ntdb files prior
to samba startup or during normal operation. If it finds file damage and it finds
a prior backup the backup file will be restored.
</para>
</refsect1>
<refsect1>
<title>OPTIONS</title>
<variablelist>
<varlistentry>
<term>-h</term>
<listitem><para>
Get help information.
</para></listitem>
</varlistentry>
<varlistentry>
<term>-s suffix</term>
<listitem><para>
The <command>-s</command> option allows the administrator to specify a file
backup extension. This way it is possible to keep a history of ntdb backup
files by using a new suffix for each backup.
</para> </listitem>
</varlistentry>
<varlistentry>
<term>-v</term>
<listitem><para>
The <command>-v</command> will check the database for damages (corrupt data)
which if detected causes the backup to be restored.
</para></listitem>
</varlistentry>
</variablelist>
</refsect1>
<refsect1>
<title>COMMANDS</title>
<para><emphasis>GENERAL INFORMATION</emphasis></para>
<para>
The <command>ntdbbackup</command> utility can safely be run at any time. It was designed so
that it can be used at any time to validate the integrity of ntdb files, even during Samba
operation. Typical usage for the command will be:
</para>
<para>ntdbbackup [-s suffix] *.ntdb</para>
<para>
Before restarting samba the following command may be run to validate .ntdb files:
</para>
<para>ntdbbackup -v [-s suffix] *.ntdb</para>
<para>
Note that Samba 4 can use .tdb files instead, so you should
use <command>tdbbackup</command> on those files.
</para>
<para>
Samba .tdb and .ntdb files are stored in various locations, be sure to run backup all
.(n)tdb files on the system. Important files includes:
</para>
<itemizedlist>
<listitem><para>
<command>secrets.(n)tdb</command> - usual location is in the /usr/local/samba/private
directory, or on some systems in /etc/samba.
</para></listitem>
<listitem><para>
<command>passdb.(n)tdb</command> - usual location is in the /usr/local/samba/private
directory, or on some systems in /etc/samba.
</para></listitem>
<listitem><para>
<command>*.tdb</command> and <command>*.ntdb</command> located in the /usr/local/samba/var directory or on some
systems in the /var/cache or /var/lib/samba directories.
</para></listitem>
</itemizedlist>
</refsect1>
<refsect1>
<title>VERSION</title>
<para>This man page is correct for version 4 of the Samba suite.</para>
</refsect1>
<refsect1>
<title>SEE ALSO</title>
<para>
tdbbackup(8), ntdbrestore(8)
</para>
</refsect1>
<refsect1>
<title>AUTHOR</title>
<para>
The original Samba software and related utilities were created by Andrew Tridgell.
Samba is now developed by the Samba Team as an Open Source project similar to the way
the Linux kernel is developed.
</para>
<para>The ntdbbackup man page was written by Rusty Russell,
based on the tdbbackup man page by John H Terpstra.</para>
</refsect1>
</refentry>
<?xml version="1.0" encoding="iso-8859-1"?>
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN" "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
<refentry id="ntdbdump.8">
<refmeta>
<refentrytitle>ntdbdump</refentrytitle>
<manvolnum>8</manvolnum>
<refmiscinfo class="source">Samba</refmiscinfo>
<refmiscinfo class="manual">System Administration tools</refmiscinfo>
<refmiscinfo class="version">4.1</refmiscinfo>
</refmeta>
<refnamediv>
<refname>ntdbdump</refname>
<refpurpose>tool for printing the contents of an NTDB file</refpurpose>
</refnamediv>
<refsynopsisdiv>
<cmdsynopsis>
<command>ntdbdump</command>
<arg choice="opt">-k <replaceable>keyname</replaceable></arg>
<arg choice="opt">-e</arg>
<arg choice="opt">-h</arg>
<arg choice="req">filename</arg>
</cmdsynopsis>
</refsynopsisdiv>
<refsect1>
<title>DESCRIPTION</title>
<para>This tool is part of the <citerefentry><refentrytitle>samba</refentrytitle>
<manvolnum>1</manvolnum></citerefentry> suite.</para>
<para><command>ntdbdump</command> is a very simple utility that 'dumps' the
contents of a NTDB (New Trivial DataBase) file to standard output in a
human-readable format.
</para>
<para>This tool can be used when debugging problems with NTDB files. It is
intended for those who are somewhat familiar with Samba internals.
</para>
</refsect1>
<refsect1>
<title>OPTIONS</title>
<variablelist>
<varlistentry>
<term>-h</term>
<listitem><para>
Get help information.
</para></listitem>
</varlistentry>
<varlistentry>
<term>-k <replaceable>keyname</replaceable></term>
<listitem><para>
The <command>-k</command> option restricts dumping to a single key, if found.
</para> </listitem>
</varlistentry>
</variablelist>
</refsect1>
<refsect1>
<title>SEE ALSO</title>
<para>
tdbdump(8), ntdbtool(8)
</para>
</refsect1>
<refsect1>
<title>VERSION</title>
<para>This man page is correct for version 4 of the Samba suite.</para>
</refsect1>
<refsect1>
<title>AUTHOR</title>
<para>
The original Samba software and related utilities were created by Andrew Tridgell.
Samba is now developed by the Samba Team as an Open Source project similar to the way
the Linux kernel is developed.
</para>
<para>The ntdbdump man page was written by Rusty Russell, base on the tdbdump man page by Jelmer Vernooij.</para>
</refsect1>
</refentry>
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
prefix=@prefix@
exec_prefix=@exec_prefix@
libdir=@libdir@
includedir=@includedir@
Name: ntdb
Description: A (not-so) trivial database
Version: @PACKAGE_VERSION@
Libs: @LIB_RPATH@ -L${libdir} -lntdb
Cflags: -I${includedir}
URL: http://tdb.samba.org/
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
#include "config.h"
#include "ntdb.h"
#include "private.h"
#include "tap-interface.h"
#include "logging.h"
int main(int argc, char *argv[])
{
unsigned int i;
struct ntdb_context *ntdb;
int flags[] = { NTDB_INTERNAL, NTDB_DEFAULT, NTDB_NOMMAP,
NTDB_INTERNAL|NTDB_CONVERT, NTDB_CONVERT,
NTDB_NOMMAP|NTDB_CONVERT };
plan_tests(sizeof(flags) / sizeof(flags[0]) * 3);
for (i = 0; i < sizeof(flags) / sizeof(flags[0]); i++) {
ntdb = ntdb_open("api-80-ntdb_fd.ntdb", flags[i]|MAYBE_NOSYNC,
O_RDWR|O_CREAT|O_TRUNC, 0600, &tap_log_attr);
if (!ok1(ntdb))
continue;
if (flags[i] & NTDB_INTERNAL)
ok1(ntdb_fd(ntdb) == -1);
else
ok1(ntdb_fd(ntdb) > 2);
ntdb_close(ntdb);
ok1(tap_log_messages == 0);
}
return exit_status();
}
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
#ifndef NTDB_NO_FSYNC_H
#define NTDB_NO_FSYNC_H
/* Obey $TDB_NO_FSYNC, a bit like tdb does (only note our NTDB_NOSYNC
* does less) */
#define MAYBE_NOSYNC (getenv("TDB_NO_FSYNC") ? NTDB_NOSYNC : 0)
#endif
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment