diff options
author | Eduardo Chappa <echappa@gmx.com> | 2013-02-03 00:59:38 -0700 |
---|---|---|
committer | Eduardo Chappa <echappa@gmx.com> | 2013-02-03 00:59:38 -0700 |
commit | 094ca96844842928810f14844413109fc6cdd890 (patch) | |
tree | e60efbb980f38ba9308ccb4fb2b77b87bbc115f3 /pith/remote.h | |
download | alpine-094ca96844842928810f14844413109fc6cdd890.tar.xz |
Initial Alpine Version
Diffstat (limited to 'pith/remote.h')
-rw-r--r-- | pith/remote.h | 95 |
1 files changed, 95 insertions, 0 deletions
diff --git a/pith/remote.h b/pith/remote.h new file mode 100644 index 00000000..621b6ed8 --- /dev/null +++ b/pith/remote.h @@ -0,0 +1,95 @@ +/* + * $Id: remote.h 1074 2008-06-04 00:08:43Z hubert@u.washington.edu $ + * + * ======================================================================== + * Copyright 2006-2008 University of Washington + * Copyright 2013 Eduardo Chappa + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * ======================================================================== + */ + +#ifndef PITH_REMOTE_INCLUDED +#define PITH_REMOTE_INCLUDED + + +#include "../pith/remtype.h" +#include "../pith/conftype.h" + + +#define REMOTE_DATA_TYPE TYPETEXT +#define REMOTE_DATA_VERS_NUM 1 +#define REMOTE_ABOOK_SUBTYPE "x-pine-addrbook" +#define REMOTE_PINERC_SUBTYPE "x-pine-pinerc" +#define REMOTE_SIG_SUBTYPE "x-pine-sig" +#define REMOTE_SMIME_SUBTYPE "x-pine-smime" + +#define PMAGIC "P#*E@" +#define METAFILE_VERSION_NUM "01" +#define SIZEOF_PMAGIC (5) +#define SIZEOF_SPACE (1) +#define SIZEOF_VERSION_NUM (2) +#define TO_FIND_HDR_PMAGIC (0) +#define TO_FIND_VERSION_NUM (TO_FIND_HDR_PMAGIC + SIZEOF_PMAGIC + SIZEOF_SPACE) + + +/* + * For flags below. Also for address book flags in struct adrbk. Some of + * these flags are shared so they need to be in the same namespace. + */ +#define DEL_FILE 0x00001 /* remove addrbook file in adrbk_close */ +#define DO_REMTRIM 0x00004 /* trim remote data if needed and possible */ +#define USE_OLD_CACHE 0x00008 /* using cache copy, couldn't check if old */ +#define REM_OUTOFDATE 0x00010 /* remote data changed since cached */ +#define NO_STATUSCMD 0x00020 /* imap server doesn't have status command */ +#define NO_META_UPDATE 0x00040 /* don't try to update metafile */ +#define NO_PERM_CACHE 0x00080 /* remove temp cache files when done */ +#define NO_FILE 0x00100 /* use memory (sonofile) instead of a file */ +#define FILE_OUTOFDATE 0x00400 /* addrbook file discovered out of date */ +#define COOKIE_ONE_OK 0x02000 /* cookie with old value of one is ok */ +#define USER_SAID_NO 0x04000 /* user said no when asked about cookie */ +#define USER_SAID_YES 0x08000 /* user said yes when asked about cookie */ +#define BELIEVE_CACHE 0x10000 /* user said yes when asked about cookie */ + + +extern char meta_prefix[]; + + +/* exported protoypes */ +char *read_remote_pinerc(PINERC_S *, ParsePinerc); +REMDATA_S *rd_create_remote(RemType, char *, char *, unsigned *, char *, char *); +REMDATA_S *rd_new_remdata(RemType, char *, char *); +void rd_free_remdata(REMDATA_S **); +void rd_trim_remdata(REMDATA_S **); +void rd_close_remdata(REMDATA_S **); +int rd_read_metadata(REMDATA_S *); +void rd_write_metadata(REMDATA_S *, int); +void rd_update_metadata(REMDATA_S *, char *); +void rd_open_remote(REMDATA_S *); +void rd_close_remote(REMDATA_S *); +int rd_stream_exists(REMDATA_S *); +int rd_ping_stream(REMDATA_S *); +void rd_check_readonly_access(REMDATA_S *); +int rd_init_remote(REMDATA_S *, int); +int rd_update_local(REMDATA_S *); +int rd_update_remote(REMDATA_S *, char *); +void rd_check_remvalid(REMDATA_S *, long); +int rd_remote_is_readonly(REMDATA_S *); +int rd_chk_for_hdr_msg(MAILSTREAM **, REMDATA_S *, char **); + +/* currently mandatory to implement stubs */ + +/* + * This is used when we try to copy remote config data and find that + * the remote folder looks fishy. We ask the user what they want to + * do. + */ +int rd_prompt_about_forged_remote_data(int,REMDATA_S *, char *); + + +#endif /* PITH_REMOTE_INCLUDED */ |