Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
ZDIR_PATCH(3)			  CZMQ Manual			 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 './../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 ./../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

CZMQ 4.2.1			  03/28/2022			 ZDIR_PATCH(3)

NAME | SYNOPSIS | DESCRIPTION | EXAMPLE | AUTHORS | RESOURCES | COPYRIGHT | NOTES

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=zdir_patch&sektion=3&manpath=FreeBSD+13.1-RELEASE+and+Ports>

home | help