/[winpt]/trunk/Include/wptKeylist.h
ViewVC logotype

Diff of /trunk/Include/wptKeylist.h

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 25 by twoaday, Wed Oct 12 10:04:26 2005 UTC revision 176 by twoaday, Mon Feb 13 09:38:03 2006 UTC
# Line 1  Line 1 
1  /* wptKeylist.h - Keylist element  /* wptKeylist.h - Keylist element
2   *      Copyright (C) 2001-2005 Timo Schulz   *      Copyright (C) 2001-2006 Timo Schulz
3   *   *
4   * This file is part of WinPT.   * This file is part of WinPT.
5   *   *
6   * WinPT is free software; you can redistribute it and/or   * WinPT is free software; you can redistribute it and/or
7   * modify it under the terms of the GNU General Public License   * modify it under the terms of the GNU General Public License
8   * as published by the Free Software Foundation; either version 2   * as published by the Free Software Foundation; either version 2
9   * of the License, or (at your option) any later version.   * of the License, or (at your option) any later version.
10   *     *  
11   * WinPT is distributed in the hope that it will be useful,   * WinPT is distributed in the hope that it will be useful,
12   * but WITHOUT ANY WARRANTY; without even the implied warranty of   * but WITHOUT ANY WARRANTY; without even the implied warranty of
13   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14   * General Public License for more details.   * General Public License for more details.
15   *   *
16   * You should have received a copy of the GNU General Public License   * You should have received a copy of the GNU General Public License
17   * along with WinPT; if not, write to the Free Software Foundation,   * along with WinPT; if not, write to the Free Software Foundation,
18   * Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA   * Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
19   */   */
20  #ifndef WPT_KEYLIST_H  #ifndef WPT_KEYLIST_H
21  #define WPT_KEYLIST_H  #define WPT_KEYLIST_H
22    
23  /* Available sort-by modes. */  /* Available sort-by modes. */
24  enum {  enum key_sort_t {
25      KEY_SORT_USERID     = 0,      KEY_SORT_USERID     = 0,
26      KEY_SORT_KEYID      = 1,      KEY_SORT_KEYID      = 1,
27      KEY_SORT_IS_SECRET  = 2,      KEY_SORT_IS_SECRET  = 2,
28      KEY_SORT_LEN        = 3,      KEY_SORT_LEN        = 3,
29      KEY_SORT_VALIDITY   = 5,      KEY_SORT_VALIDITY   = 5,
30      KEY_SORT_OTRUST     = 6,      KEY_SORT_OTRUST     = 6,
31      KEY_SORT_CREATED    = 7,      KEY_SORT_CREATED    = 7,
32      KEY_SORT_ALGO       = 8      KEY_SORT_ALGO       = 8,
33  };  
34        /* special attributes for signatures */
35  /* Valid keylist modes. */      SIG_SORT_CLASS      = 30,
36  enum {        SIG_SORT_EXPIRE     = 31
37      KEYLIST_ALL         =  0,    };
38      KEYLIST_LIST        =  1,    
39      KEYLIST_ENCRYPT     =  2,  /* Valid keylist modes. */
40      KEYLIST_ENCRYPT_MIN =  4,    enum keylist_mode_t {  
41      KEYLIST_SIGN        =  8,        KEYLIST_ALL         =  0,  
42      KEYLIST_FLAG_FILE   = 16,      KEYLIST_LIST        =  1,
43      KEYLIST_FLAG_SHORT  = 32      KEYLIST_ENCRYPT     =  2, /* obsolete */
44  };      KEYLIST_ENCRYPT_MIN =  4,  
45        KEYLIST_SIGN        =  8,  
46  /* All possible key flags. */      KEYLIST_FLAG_FILE   = 16,
47  enum {      KEYLIST_FLAG_SHORT  = 32
48      KEYFLAG_NONE     = 0,  };
49      KEYFLAG_EXPIRED  = 1,  
50      KEYFLAG_REVOKED  = 2,  /* All possible key flags. */
51      KEYFLAG_DISABLED = 4  enum key_flag_t {
52  };      KEYFLAG_NONE     = 0,
53        KEYFLAG_EXPIRED  = 1,
54  /* Signature verification context for a file. */      KEYFLAG_REVOKED  = 2,
55  struct file_sig_ctx_s {      KEYFLAG_DISABLED = 4
56      char                *file;      /* plaintext file name */  };
57      gpgme_signature_t   sig;        /* the actual signature */  
58      unsigned            use_uid:1;  /* 1=if the user id from context should be used. */  /* Symbolic column IDs. */
59      const char          *user_id;  enum km_col_t {
60  };      KM_COL_UID      = 0,
61  typedef struct file_sig_ctx_s *file_sig_ctx_t;      KM_COL_KEYID    = 1,
62        KM_COL_TYPE     = 2,
63  /*-- keylist.c --*/      KM_COL_SIZE     = 3,
64  const char*  get_key_pubalgo (gpgme_pubkey_algo_t alg);      KM_COL_CIPHER   = 4,
65  const char * get_key_algo( gpgme_key_t key, int keyidx );      KM_COL_VALID    = 5,
66  const char * get_key_created( long timestamp );      KM_COL_TRUST    = 6,
67  const char * get_key_expire_date( long timestamp );      KM_COL_CREAT    = 7,
68  const char * get_key_type( gpgme_key_t key );      KM_COL_DESC     = 8
69  const char * get_key_size( gpgme_key_t key, int keyidx );  };
70  const char * get_key_fpr( gpgme_key_t key );  
71  const char * get_key_trust (gpgme_key_t key, int uididx, int listmode);  /* Symbolic column IDs for sig lists */
72  const char * get_key_trust2 (gpgme_key_t key, int val, int uididx, int listmode);  enum siglist_col_t {
73  const char * get_key_trust_str (int val);      SL_COL_UID = 0,
74  int find_secret_key( gpgme_key_t key );      SL_COL_VALID = 1,
75        SL_COL_CLASS = 2,
76  gpgme_user_id_t get_nth_userid (gpgme_key_t key, int idx);      SL_COL_CREATE = 3,
77  int             count_userids (gpgme_key_t key);      SL_COL_KEYID = 4,
78  gpgme_subkey_t  get_nth_key (gpgme_key_t key, int idx);      SL_COL_EXPIRE = 5,
79  int             count_subkeys (gpgme_key_t key);      SL_COL_ALGO = 6
80  gpgme_key_sig_t get_selfsig (gpgme_user_id_t uid, const char *keyid, int first);  };
81    
82  listview_ctrl_t keylist_load( HWND ctrl, gpg_keycache_t pubkc, gpg_keycache_t seckc,  /* Icon for the key types. */
83                               int mode, int sortby );  enum key_image_t {
84  int keylist_reload( listview_ctrl_t lv, gpg_keycache_t c, int mode, int sortby );      KEY_IMG_PUB = 0,
85  void keylist_delete( listview_ctrl_t lv );      KEY_IMG_PAIR= 1
86  int keylist_add_key (listview_ctrl_t lv, int mode, gpgme_key_t key);  };
87  void keylist_upd_key (listview_ctrl_t lv, int pos, gpgme_key_t key);  
88  gpgme_key_t* keylist_get_recipients( listview_ctrl_t lv,  /* Signature verification context for a file. */
89                                          int *r_force_trust, int *r_count );  struct file_sig_ctx_s {
90  gpgme_key_t* keylist_enum_recipients( listview_ctrl_t lv,  int listype, int *r_count );      char                *file;      /* plaintext file name */
91  int keylist_sort( listview_ctrl_t lv, int sortby );      gpgme_signature_t   sig;        /* the actual signature */
92        unsigned            use_uid:1;  /* 1=if the user id from context should be used. */
93  /*-- wptImportList.cpp --*/      const char          *user_id;
94  int  implist_build( listview_ctrl_t *lv, HWND ctrl );  };
95  int  implist_load( listview_ctrl_t lv, const char *file,  typedef struct file_sig_ctx_s *file_sig_ctx_t;
96                     int *r_revcerts, int *r_seckeys );  
97  void implist_delete( listview_ctrl_t lv );  /*-- keylist.c --*/
98    const char*  get_key_pubalgo2 (gpgme_pubkey_algo_t alg);
99  /*-- wptSigList.cpp --*/  const char*  get_key_pubalgo (gpgme_pubkey_algo_t alg);
100  listview_ctrl_t siglist_load( HWND ctrl, const char *keyid );  const char* get_key_algo( gpgme_key_t key, int keyidx );
101  void siglist_delete( listview_ctrl_t lv );  const char* get_key_created( long timestamp );
102    const char* get_key_expire_date( long timestamp );
103  /*-- wptVerifyList.cpp --*/  const char* get_key_type( gpgme_key_t key );
104  int verlist_build (listview_ctrl_t *lv, HWND ctrl, int fm_mode);  const char* get_key_size( gpgme_key_t key, int keyidx );
105  void verlist_delete (listview_ctrl_t lv);  const char* get_key_fpr( gpgme_key_t key );
106  void verlist_alloc (listview_ctrl_t lv, int nentries );  const char* get_key_trust (gpgme_key_t key, int uididx, int listmode);
107  int verlist_add_sig (listview_ctrl_t lv, gpgme_signature_t sig);  const char* get_key_trust2 (gpgme_key_t key, int val, int uididx, int listmode);
108  int verlist_add_sig_log (listview_ctrl_t lv, file_sig_ctx_t log);  const char* get_key_trust_str (int val);
109    
110  /*-- seclist --*/  char* get_key_desc (gpgme_key_t key);
111  struct keylist_s {  
112      struct keylist_s * next;  gpgme_user_id_t get_nth_userid (gpgme_key_t key, int idx);
113      gpgme_key_t key;  int             count_userids (gpgme_key_t key);
114  };  gpgme_subkey_t  get_nth_key (gpgme_key_t key, int idx);
115  typedef struct keylist_s *keylist_t;  int             count_subkeys (gpgme_key_t key);
116    gpgme_key_sig_t get_selfsig (gpgme_user_id_t uid, const char *keyid, int first);
117  void seclist_destroy (keylist_t * list);  
118  void seclist_init (HWND dlg, int ctlid, int flags, keylist_t * ret_list);  listview_ctrl_t keylist_load( HWND ctrl, gpg_keycache_t pubkc, gpg_keycache_t seckc,
119  int  seclist_select_key (HWND dlg, int ctlid, gpgme_key_t * ret_key);                               int mode, int sortby );
120    int keylist_reload( listview_ctrl_t lv, gpg_keycache_t c, int mode, int sortby );
121  #endif /* WPT_KEYLIST_H */  void keylist_delete( listview_ctrl_t lv );
122    int keylist_add_key (listview_ctrl_t lv, int mode, gpgme_key_t key);
123    void keylist_upd_key (listview_ctrl_t lv, int pos, gpgme_key_t key);
124    void keylist_upd_col (listview_ctrl_t lv, int col);
125    gpgme_key_t* keylist_get_recipients( listview_ctrl_t lv,
126                                            int *r_force_trust, int *r_count );
127    gpgme_key_t* keylist_enum_recipients( listview_ctrl_t lv,  int listype, int *r_count );
128    int keylist_sort( listview_ctrl_t lv, int sortby );
129    
130    /*-- wptImportList.cpp --*/
131    int  implist_build( listview_ctrl_t *lv, HWND ctrl );
132    int  implist_load( listview_ctrl_t lv, const char *file,
133                       int *r_revcerts, int *r_seckeys );
134    void implist_delete( listview_ctrl_t lv );
135    
136    /*-- wptSigList.cpp --*/
137    listview_ctrl_t siglist_load (HWND ctrl, const char *keyid);
138    void siglist_delete (listview_ctrl_t lv);
139    void siglist_sort (listview_ctrl_t sigl, int sortby);
140    
141    /*-- wptVerifyList.cpp --*/
142    int verlist_build (listview_ctrl_t *lv, HWND ctrl, int fm_mode);
143    void verlist_delete (listview_ctrl_t lv);
144    void verlist_alloc (listview_ctrl_t lv, int nentries );
145    int verlist_add_sig (listview_ctrl_t lv, gpgme_signature_t sig);
146    int verlist_add_sig_log (listview_ctrl_t lv, file_sig_ctx_t log);
147    
148    /*-- seclist --*/
149    struct keylist_s {
150        struct keylist_s * next;
151        gpgme_key_t key;
152    };
153    typedef struct keylist_s *keylist_t;
154    
155    void seclist_destroy (keylist_t * list);
156    void seclist_init (HWND dlg, int ctlid, int flags, keylist_t * ret_list);
157    int  seclist_select_key (HWND dlg, int ctlid, gpgme_key_t * ret_key);
158    
159    #endif /* WPT_KEYLIST_H */

Legend:
Removed from v.25  
changed lines
  Added in v.176

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26