File: cmd.h

package info (click to toggle)
lastpass-cli 1.6.1-4
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 912 kB
  • sloc: ansic: 10,203; sh: 683; makefile: 45
file content (121 lines) | stat: -rw-r--r-- 4,102 bytes parent folder | download | duplicates (4)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
#ifndef CMD_H
#define CMD_H

#include "blob.h"
#include "session.h"
#include "terminal.h"
#include "kdf.h"

enum search_type
{
	SEARCH_EXACT_MATCH,
	SEARCH_BASIC_REGEX,
	SEARCH_FIXED_SUBSTRING,
};

#define BIT(x) (1ull << (x))

enum account_field
{
	ACCOUNT_ID = BIT(0),
	ACCOUNT_NAME = BIT(1),
	ACCOUNT_FULLNAME = BIT(2),
	ACCOUNT_URL = BIT(3),
	ACCOUNT_USERNAME = BIT(4),
};

enum edit_choice
{
	EDIT_NONE,
	EDIT_USERNAME,
	EDIT_PASSWORD,
	EDIT_URL,
	EDIT_FIELD,
	EDIT_NAME,
	EDIT_NOTES,
	EDIT_ANY
};

void init_all(enum blobsync sync, unsigned char key[KDF_HASH_LEN], struct session **session, struct blob **blob);
enum blobsync parse_sync_string(const char *str);
struct account *find_unique_account(struct blob *blob, const char *name);
void find_matching_accounts(struct list_head *accounts, const char *name,
			    struct list_head *ret_list);
void find_matching_regex(struct list_head *accounts, const char *pattern,
			 int fields, struct list_head *ret_list);
void find_matching_substr(struct list_head *accounts, const char *pattern,
			  int fields, struct list_head *ret_list);
enum color_mode parse_color_mode_string(const char *colormode);
bool parse_bool_arg_string(const char *extra);
enum note_type parse_note_type_string(const char *extra);

int edit_account(struct session *session,
		 struct blob *blob,
		 enum blobsync sync,
		 struct account *editable,
		 enum edit_choice choice,
		 const char *field,
		 bool non_interactive,
		 unsigned char key[KDF_HASH_LEN]);

int edit_new_account(struct session *session,
		     struct blob *blob,
		     enum blobsync sync,
		     const char *name,
		     enum edit_choice choice,
		     const char *field,
		     bool non_interactive,
		     bool is_app,
		     enum note_type note_type,
		     unsigned char key[KDF_HASH_LEN]);

#define color_usage "[--color=auto|never|always]"

int cmd_login(int argc, char **argv);
#define cmd_login_usage "login [--trust] [--plaintext-key [--force, -f]] " color_usage " USERNAME"

int cmd_logout(int argc, char **argv);
#define cmd_logout_usage "logout [--force, -f] " color_usage

int cmd_passwd(int argc, char **argv);
#define cmd_passwd_usage "passwd"

int cmd_show(int argc, char **argv);
#define cmd_show_usage "show [--sync=auto|now|no] [--clip, -c] [--quiet, -q] [--expand-multi, -x] [--json, -j] [--all|--username|--password|--url|--notes|--field=FIELD|--id|--name|--attach=ATTACHID] [--basic-regexp, -G|--fixed-strings, -F] " color_usage " {UNIQUENAME|UNIQUEID}"

int cmd_ls(int argc, char **argv);
#define cmd_ls_usage "ls [--sync=auto|now|no] [--long, -l] [-m] [-u] " color_usage " [GROUP]"

int cmd_add(int argc, char **argv);
#define cmd_add_usage "add [--sync=auto|now|no] [--non-interactive] " color_usage " {--username|--password|--url|--notes|--field=FIELD|--note-type=NOTETYPE} NAME"

int cmd_edit(int argc, char **argv);
#define cmd_edit_usage "edit [--sync=auto|now|no] [--non-interactive] " color_usage " {--name|--username|--password|--url|--notes|--field=FIELD} {NAME|UNIQUEID}"

int cmd_generate(int argc, char **argv);
#define cmd_generate_usage "generate [--sync=auto|now|no] [--clip, -c] [--username=USERNAME] [--url=URL] [--no-symbols] {NAME|UNIQUEID} LENGTH"

int cmd_duplicate(int argc, char **argv);
#define cmd_duplicate_usage "duplicate [--sync=auto|now|no] " color_usage " {UNIQUENAME|UNIQUEID}"

int cmd_rm(int argc, char **argv);
#define cmd_rm_usage "rm [--sync=auto|now|no] " color_usage " {UNIQUENAME|UNIQUEID}"

int cmd_status(int argc, char **argv);
#define cmd_status_usage "status [--quiet, -q] " color_usage

int cmd_sync(int argc, char **argv);
#define cmd_sync_usage "sync [--background, -b] " color_usage

int cmd_export(int argc, char **argv);
#define cmd_export_usage "export [--sync=auto|now|no] " color_usage " [--fields=FIELDLIST]"

int cmd_share(int argc, char **argv);
#define cmd_share_usage "share subcommand sharename ..."
#endif

int cmd_mv(int argc, char **argv);
#define cmd_mv_usage "mv " color_usage " {UNIQUENAME|UNIQUEID} GROUP"

int cmd_import(int argc, char **argv);
#define cmd_import_usage "import [--keep-dupes] [CSV_FILENAME]"