'\" t .\" Title: zdir_patch .\" Author: [see the "AUTHORS" section] .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 03/02/2024 .\" Manual: CZMQ Manual .\" Source: CZMQ 4.2.1 .\" Language: English .\" .TH "ZDIR_PATCH" "3" "03/02/2024" "CZMQ 4\&.2\&.1" "CZMQ Manual" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .\" http://bugs.debian.org/507673 .\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" ----------------------------------------------------------------- .\" * set default formatting .\" ----------------------------------------------------------------- .\" disable hyphenation .nh .\" disable justification (adjust text to left margin only) .ad l .\" ----------------------------------------------------------------- .\" * MAIN CONTENT STARTS HERE * .\" ----------------------------------------------------------------- .SH "NAME" zdir_patch \- Class for work with directory patches .SH "SYNOPSIS" .sp .nf // 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 \*(Aq@interface\*(Aq section in \*(Aq\&./\&.\&./src/zdir_patch\&.c\*(Aq\&. .fi .SH "DESCRIPTION" .sp The zdir_patch class works with one patch, which says "create this file" or "delete this file" (referring to a zfile item each time)\&. .sp Please add \fI@discuss\fR section in \fI\&./\&.\&./src/zdir_patch\&.c\fR\&. .SH "EXAMPLE" .PP \fBFrom zdir_patch_test method\fR. .sp .if n \{\ .RS 4 .\} .nf 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 .fi .if n \{\ .RE .\} .sp .SH "AUTHORS" .sp The czmq manual was written by the authors in the AUTHORS file\&. .SH "RESOURCES" .sp Main web site: \m[blue]\fB\%\fR\m[] .sp Report bugs to the email <\m[blue]\fBzeromq\-dev@lists\&.zeromq\&.org\fR\m[]\&\s-2\u[1]\d\s+2> .SH "COPYRIGHT" .sp 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\&. .SH "NOTES" .IP " 1." 4 zeromq-dev@lists.zeromq.org .RS 4 \%mailto:zeromq-dev@lists.zeromq.org .RE