mirror of
https://git.sr.ht/~cismonx/bookmarkfs
synced 2025-07-02 15:28:51 +00:00
doc: update backend API
Add doc for the `bookmark_permute` function.
This commit is contained in:
parent
d7724e9a8f
commit
63c491bc02
1 changed files with 78 additions and 1 deletions
|
@ -622,7 +622,7 @@ Sub-commands:
|
||||||
|
|
||||||
@table @command
|
@table @command
|
||||||
@item permd
|
@item permd
|
||||||
Re-arranges the order of the directory entries obtained from @code{readdir()}.
|
Rearranges the order of the directory entries obtained from @code{readdir()}.
|
||||||
@xref{Permute Directory Entries}.
|
@xref{Permute Directory Entries}.
|
||||||
|
|
||||||
@example
|
@example
|
||||||
|
@ -976,6 +976,7 @@ struct bookmarkfs_permd_data @{
|
||||||
@};
|
@};
|
||||||
@end example
|
@end example
|
||||||
|
|
||||||
|
@anchor{Rearrange Operations}
|
||||||
The @code{op} field denotes the operation to perform on the directory:
|
The @code{op} field denotes the operation to perform on the directory:
|
||||||
|
|
||||||
@table @code
|
@table @code
|
||||||
|
@ -2739,6 +2740,82 @@ Upon successful completion, the function should automatically update the
|
||||||
last modification time of the parent directory.
|
last modification time of the parent directory.
|
||||||
|
|
||||||
|
|
||||||
|
@node Permute Bookmarks
|
||||||
|
@subsection Permute Bookmarks
|
||||||
|
|
||||||
|
The @code{bookmark_permute} function is called to rearrange bookmarks
|
||||||
|
or bookmark-related objects under a directory.
|
||||||
|
It is never called when the filesystem is mounted read-only.
|
||||||
|
|
||||||
|
This function should implement the @code{BOOKMARKFS_IOC_PERMD} I/O control.
|
||||||
|
@xref{Permute Directory Entries}.
|
||||||
|
|
||||||
|
Type of the @code{bookmark_permute} function is defined as:
|
||||||
|
|
||||||
|
@example c
|
||||||
|
typedef int (bookmarkfs_bookmark_permute_func) (
|
||||||
|
void *backend_ctx,
|
||||||
|
uint64_t parent_id,
|
||||||
|
enum bookmarkfs_permd_op op,
|
||||||
|
char const *name1,
|
||||||
|
char const *name2,
|
||||||
|
uint32_t flags
|
||||||
|
);
|
||||||
|
@end example
|
||||||
|
|
||||||
|
Function arguments:
|
||||||
|
|
||||||
|
@table @code
|
||||||
|
@item backend_ctx
|
||||||
|
The pointer referring to the backend context.
|
||||||
|
|
||||||
|
@item parent_id
|
||||||
|
ID of the parent directory containing the objects to be rearranged.
|
||||||
|
It could be a bookmark ID or tag ID, depending on the value of @code{flags}.
|
||||||
|
|
||||||
|
@item op
|
||||||
|
Operation to perform on objects represented by @code{name1} and @code{name2}.
|
||||||
|
|
||||||
|
@xref{Rearrange Operations} for the meaning of each value.
|
||||||
|
|
||||||
|
@item name1
|
||||||
|
@item name2
|
||||||
|
Names of the objects to be rearranged.
|
||||||
|
They could be bookmark names, tag names or keyword names,
|
||||||
|
depending on the value of @code{flags}.
|
||||||
|
|
||||||
|
@item flags
|
||||||
|
A bit array of the following flags:
|
||||||
|
|
||||||
|
@table @code
|
||||||
|
@item BOOKMARKFS_BOOKMARK_TYPE_MASK
|
||||||
|
The subsystem to operate on.
|
||||||
|
|
||||||
|
Equals to one of the following values (after shifting):
|
||||||
|
|
||||||
|
@table @code
|
||||||
|
@item BOOKMARKFS_BOOKMARK_TYPE_BOOKMARK
|
||||||
|
Rearrange entries under a bookmark folder.
|
||||||
|
@xref{Bookmarks}.
|
||||||
|
|
||||||
|
@item BOOKMARKFS_BOOKMARK_TYPE_TAG
|
||||||
|
Rearrange tags or tag associations.
|
||||||
|
@xref{Tags}.
|
||||||
|
|
||||||
|
@item BOOKMARKFS_BOOKMARK_TYPE_KEYWORD
|
||||||
|
Rearrange keywords.
|
||||||
|
@xref{Keywords}.
|
||||||
|
|
||||||
|
The value of @code{parent_id} is unspecified.
|
||||||
|
@end table
|
||||||
|
@end table
|
||||||
|
@end table
|
||||||
|
|
||||||
|
On success, the function should return @t{0}.
|
||||||
|
Otherwise, it should return a negated @code{errno} indicating the error
|
||||||
|
encountered.
|
||||||
|
|
||||||
|
|
||||||
@node Sync Bookmarks
|
@node Sync Bookmarks
|
||||||
@subsection Sync Bookmarks
|
@subsection Sync Bookmarks
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue