shithub: vcardfs

ref: 732192cde475a07a558f581eecdd21f05cd1607a
dir: /README.md/

View raw version
# VCARD filesystem and library

## Contents

- `libvcard`: library for parsing and writing vcard data
- `vcardfs`: vcard filesystem

## Usage

### vcardfs

Usage: `vcardfs [-m mtpt] [-s srv] [database.vcf]`

Default database is at: /usr/$user/lib/vcarddb.vcf

	/mnt/vard/
	   ctl
	   import
	   export
	   John_Doe/
	      export
	      0:groupname.fn/
	         data
	         group
	         params/
	            ...
	      0:n/
	         data
	         ...
	      0:tel/
	         data
	         ...
	   Jane_Doe/
	      ...

Interaction:

- `rm /mnt/vcard/John_Doe` deletes the whole card
- `rm /mnt/vcard/John_Doe/fn` deletes the selected line
- `rm /mnt/vcard/John_Doe/fn/params/type` deletes the param
- `rm /mnt/vcard/John_Doe/fn/group` will delete the group association (not implemented yet)
- `mkdir /mnt/vcard/John_Doe/tel` will create a new phone number field

Future plans:

- export: line breaks
- import: update existing entries (how?)
- files: output with newline at the end?

### libvcard

- see `libvcard/vcard.h`
- `Vcard* vcparse(char *str)`
- `Vcard* vcparsefile(char *file)`
- `char* vcmserialize(Vcard*)`
- ...