work with file-system directories Create a new directory item that loads in the full tree of the specified path, optionally located under some parent path. If parent is "-", then loads only the top-level directory, and does not use parent as a path. Destroy a directory tree and all children it contains. Return directory path Return last modification time for directory. Return total hierarchy size, in bytes of data contained in all files in the directory tree. Return directory count Returns a sorted list of zfile objects; Each entry in the list is a pointer to a zfile_t item already allocated in the zdir tree. Do not destroy the original zdir tree until you are done with this list. Remove directory, optionally including all files that it contains, at all levels. If force is false, will only remove the directory if empty. If force is true, will remove all files and all subdirectories. Calculate differences between two versions of a directory tree. Returns a list of zdir_patch_t patches. Either older or newer may be null, indicating the directory is empty/absent. If alias is set, generates virtual filename (minus path, plus alias). Return full contents of directory as a zdir_patch list. Load directory cache; returns a hash table containing the SHA-1 digests of every file in the tree. The cache is saved between runs in .cache. Print contents of directory to open stream Print contents of directory to stdout Create a new zdir_watch actor instance: zactor_t *watch = zactor_new (zdir_watch, NULL); Destroy zdir_watch instance: zactor_destroy (&watch); Enable verbose logging of commands and activity: zstr_send (watch, "VERBOSE"); Subscribe to changes to a directory path: zsock_send (watch, "ss", "SUBSCRIBE", "directory_path"); Unsubscribe from changes to a directory path: zsock_send (watch, "ss", "UNSUBSCRIBE", "directory_path"); Receive directory changes: zsock_recv (watch, "sp", &path, &patches); // Delete the received data. free (path); zlist_destroy (&patches);