ZDIR_PATCH(3)

NAME
zdir_patch - Class for work with directory patches

SYNOPSIS

//  This is a stable class, and may not change except for emergencies. It
//  is provided in stable builds.
#define ZDIR_PATCH_CREATE 1                  // Creates a new file
#define ZDIR_PATCH_DELETE 2                  // Delete a file
//  Create new patch
CZMQ_EXPORT zdir_patch_t *
    zdir_patch_new (const char *path, zfile_t *file, int op, const char *alias);
//  Destroy a patch
CZMQ_EXPORT void
    zdir_patch_destroy (zdir_patch_t **self_p);
//  Create copy of a patch. If the patch is null, or memory was exhausted,
//  returns null.
//  Caller owns return value and must destroy it when done.
CZMQ_EXPORT zdir_patch_t *
    zdir_patch_dup (zdir_patch_t *self);
//  Return patch file directory path
CZMQ_EXPORT const char *
    zdir_patch_path (zdir_patch_t *self);
//  Return patch file item
CZMQ_EXPORT zfile_t *
    zdir_patch_file (zdir_patch_t *self);
//  Return operation
CZMQ_EXPORT int
    zdir_patch_op (zdir_patch_t *self);
//  Return patch virtual file path
CZMQ_EXPORT const char *
    zdir_patch_vpath (zdir_patch_t *self);
//  Calculate hash digest for file (create only)
CZMQ_EXPORT void
    zdir_patch_digest_set (zdir_patch_t *self);
//  Return hash digest for patch file
CZMQ_EXPORT const char *
    zdir_patch_digest (zdir_patch_t *self);
//  Self test of this class.
CZMQ_EXPORT void
    zdir_patch_test (bool verbose);
Please add '@interface' section in '/home/builder/.termux-build/libczmq/src/doc/../src/zdir_patch.c'.

DESCRIPTION

The zdir_patch class works with one patch, which says "create this file" or "delete this file" (referring to a zfile item each time).

Please add @discuss section in /home/builder/.termux-build/libczmq/src/doc/../src/zdir_patch.c.

EXAMPLE

From zdir_patch_test method.

    const char *SELFTEST_DIR_RW = "src/selftest-rw";
    const char *testfile = "bilbo";
    const char *prefix   = "/";
    char *prefixed_testfile = zsys_sprintf ("%s%s", prefix, testfile);
    assert (prefixed_testfile);
    // Make sure old aborted tests do not hinder us
    zsys_file_delete (prefixed_testfile);
    zfile_t *file = zfile_new (SELFTEST_DIR_RW, testfile);
    assert (file);
    zdir_patch_t *patch = zdir_patch_new (SELFTEST_DIR_RW, file, patch_create, prefix);
    assert (patch);
    zfile_destroy (&file);
    file = zdir_patch_file (patch);
    assert (file);
    assert (streq (zfile_filename (file, SELFTEST_DIR_RW), testfile));
    assert (streq (zdir_patch_vpath (patch), prefixed_testfile));
    zdir_patch_destroy (&patch);
    zstr_free (&prefixed_testfile);
    #if defined (__WINDOWS__)
    zsys_shutdown();
    #endif

AUTHORS

The czmq manual was written by the authors in the AUTHORS file.

RESOURCES

Main web site:

Report bugs to the email <zeromq-dev@lists.zeromq.org[1]>

COPYRIGHT

Copyright (c) the Contributors as noted in the AUTHORS file. This file is part of CZMQ, the high-level C binding for 0MQ: http://czmq.zeromq.org. This Source Code Form is subject to the terms of the Mozilla Public License, v. 2.0. If a copy of the MPL was not distributed with this file, You can obtain one at http://mozilla.org/MPL/2.0/. LICENSE included with the czmq distribution.

NOTES

1.  zeromq-dev@lists.zeromq.org
    mailto:zeromq-dev@lists.zeromq.org