/[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 77 by twoaday, Mon Nov 14 15:01:01 2005 UTC
# Line 1  Line 1 
1  /* wptKeylist.h - Keylist element  /* wptKeylist.h - Keylist element
2   *      Copyright (C) 2001-2005 Timo Schulz   *      Copyright (C) 2001-2005 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    
35  /* Valid keylist modes. */  /* Valid keylist modes. */
36  enum {    enum keylist_mode_t {  
37      KEYLIST_ALL         =  0,        KEYLIST_ALL         =  0,  
38      KEYLIST_LIST        =  1,        KEYLIST_LIST        =  1,  
39      KEYLIST_ENCRYPT     =  2,      KEYLIST_ENCRYPT     =  2,
40      KEYLIST_ENCRYPT_MIN =  4,        KEYLIST_ENCRYPT_MIN =  4,  
41      KEYLIST_SIGN        =  8,        KEYLIST_SIGN        =  8,  
42      KEYLIST_FLAG_FILE   = 16,      KEYLIST_FLAG_FILE   = 16,
43      KEYLIST_FLAG_SHORT  = 32      KEYLIST_FLAG_SHORT  = 32
44  };  };
45    
46  /* All possible key flags. */  /* All possible key flags. */
47  enum {  enum key_flag_t {
48      KEYFLAG_NONE     = 0,      KEYFLAG_NONE     = 0,
49      KEYFLAG_EXPIRED  = 1,      KEYFLAG_EXPIRED  = 1,
50      KEYFLAG_REVOKED  = 2,      KEYFLAG_REVOKED  = 2,
51      KEYFLAG_DISABLED = 4      KEYFLAG_DISABLED = 4
52  };  };
53    
54  /* Signature verification context for a file. */  /* Symbolic column IDs. */
55  struct file_sig_ctx_s {  enum km_col_t {
56      char                *file;      /* plaintext file name */      KM_COL_UID      = 0,
57      gpgme_signature_t   sig;        /* the actual signature */      KM_COL_KEYID    = 1,
58      unsigned            use_uid:1;  /* 1=if the user id from context should be used. */      KM_COL_TYPE     = 2,
59      const char          *user_id;      KM_COL_SIZE     = 3,
60  };      KM_COL_CIPHER   = 4,
61  typedef struct file_sig_ctx_s *file_sig_ctx_t;      KM_COL_VALID    = 5,
62        KM_COL_TRUST    = 6,
63  /*-- keylist.c --*/      KM_COL_CREAT    = 7
64  const char*  get_key_pubalgo (gpgme_pubkey_algo_t alg);  };
65  const char * get_key_algo( gpgme_key_t key, int keyidx );  
66  const char * get_key_created( long timestamp );  
67  const char * get_key_expire_date( long timestamp );  /* Signature verification context for a file. */
68  const char * get_key_type( gpgme_key_t key );  struct file_sig_ctx_s {
69  const char * get_key_size( gpgme_key_t key, int keyidx );      char                *file;      /* plaintext file name */
70  const char * get_key_fpr( gpgme_key_t key );      gpgme_signature_t   sig;        /* the actual signature */
71  const char * get_key_trust (gpgme_key_t key, int uididx, int listmode);      unsigned            use_uid:1;  /* 1=if the user id from context should be used. */
72  const char * get_key_trust2 (gpgme_key_t key, int val, int uididx, int listmode);      const char          *user_id;
73  const char * get_key_trust_str (int val);  };
74  int find_secret_key( gpgme_key_t key );  typedef struct file_sig_ctx_s *file_sig_ctx_t;
75    
76  gpgme_user_id_t get_nth_userid (gpgme_key_t key, int idx);  /*-- keylist.c --*/
77  int             count_userids (gpgme_key_t key);  const char*  get_key_pubalgo (gpgme_pubkey_algo_t alg);
78  gpgme_subkey_t  get_nth_key (gpgme_key_t key, int idx);  const char * get_key_algo( gpgme_key_t key, int keyidx );
79  int             count_subkeys (gpgme_key_t key);  const char * get_key_created( long timestamp );
80  gpgme_key_sig_t get_selfsig (gpgme_user_id_t uid, const char *keyid, int first);  const char * get_key_expire_date( long timestamp );
81    const char * get_key_type( gpgme_key_t key );
82  listview_ctrl_t keylist_load( HWND ctrl, gpg_keycache_t pubkc, gpg_keycache_t seckc,  const char * get_key_size( gpgme_key_t key, int keyidx );
83                               int mode, int sortby );  const char * get_key_fpr( gpgme_key_t key );
84  int keylist_reload( listview_ctrl_t lv, gpg_keycache_t c, int mode, int sortby );  const char * get_key_trust (gpgme_key_t key, int uididx, int listmode);
85  void keylist_delete( listview_ctrl_t lv );  const char * get_key_trust2 (gpgme_key_t key, int val, int uididx, int listmode);
86  int keylist_add_key (listview_ctrl_t lv, int mode, gpgme_key_t key);  const char * get_key_trust_str (int val);
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,  gpgme_user_id_t get_nth_userid (gpgme_key_t key, int idx);
89                                          int *r_force_trust, int *r_count );  int             count_userids (gpgme_key_t key);
90  gpgme_key_t* keylist_enum_recipients( listview_ctrl_t lv,  int listype, int *r_count );  gpgme_subkey_t  get_nth_key (gpgme_key_t key, int idx);
91  int keylist_sort( listview_ctrl_t lv, int sortby );  int             count_subkeys (gpgme_key_t key);
92    gpgme_key_sig_t get_selfsig (gpgme_user_id_t uid, const char *keyid, int first);
93  /*-- wptImportList.cpp --*/  
94  int  implist_build( listview_ctrl_t *lv, HWND ctrl );  listview_ctrl_t keylist_load( HWND ctrl, gpg_keycache_t pubkc, gpg_keycache_t seckc,
95  int  implist_load( listview_ctrl_t lv, const char *file,                               int mode, int sortby );
96                     int *r_revcerts, int *r_seckeys );  int keylist_reload( listview_ctrl_t lv, gpg_keycache_t c, int mode, int sortby );
97  void implist_delete( listview_ctrl_t lv );  void keylist_delete( listview_ctrl_t lv );
98    int keylist_add_key (listview_ctrl_t lv, int mode, gpgme_key_t key);
99  /*-- wptSigList.cpp --*/  void keylist_upd_key (listview_ctrl_t lv, int pos, gpgme_key_t key);
100  listview_ctrl_t siglist_load( HWND ctrl, const char *keyid );  gpgme_key_t* keylist_get_recipients( listview_ctrl_t lv,
101  void siglist_delete( listview_ctrl_t lv );                                          int *r_force_trust, int *r_count );
102    gpgme_key_t* keylist_enum_recipients( listview_ctrl_t lv,  int listype, int *r_count );
103  /*-- wptVerifyList.cpp --*/  int keylist_sort( listview_ctrl_t lv, int sortby );
104  int verlist_build (listview_ctrl_t *lv, HWND ctrl, int fm_mode);  
105  void verlist_delete (listview_ctrl_t lv);  /*-- wptImportList.cpp --*/
106  void verlist_alloc (listview_ctrl_t lv, int nentries );  int  implist_build( listview_ctrl_t *lv, HWND ctrl );
107  int verlist_add_sig (listview_ctrl_t lv, gpgme_signature_t sig);  int  implist_load( listview_ctrl_t lv, const char *file,
108  int verlist_add_sig_log (listview_ctrl_t lv, file_sig_ctx_t log);                     int *r_revcerts, int *r_seckeys );
109    void implist_delete( listview_ctrl_t lv );
110  /*-- seclist --*/  
111  struct keylist_s {  /*-- wptSigList.cpp --*/
112      struct keylist_s * next;  listview_ctrl_t siglist_load( HWND ctrl, const char *keyid );
113      gpgme_key_t key;  void siglist_delete( listview_ctrl_t lv );
114  };  
115  typedef struct keylist_s *keylist_t;  /*-- wptVerifyList.cpp --*/
116    int verlist_build (listview_ctrl_t *lv, HWND ctrl, int fm_mode);
117  void seclist_destroy (keylist_t * list);  void verlist_delete (listview_ctrl_t lv);
118  void seclist_init (HWND dlg, int ctlid, int flags, keylist_t * ret_list);  void verlist_alloc (listview_ctrl_t lv, int nentries );
119  int  seclist_select_key (HWND dlg, int ctlid, gpgme_key_t * ret_key);  int verlist_add_sig (listview_ctrl_t lv, gpgme_signature_t sig);
120    int verlist_add_sig_log (listview_ctrl_t lv, file_sig_ctx_t log);
121  #endif /* WPT_KEYLIST_H */  
122    /*-- seclist --*/
123    struct keylist_s {
124        struct keylist_s * next;
125        gpgme_key_t key;
126    };
127    typedef struct keylist_s *keylist_t;
128    
129    void seclist_destroy (keylist_t * list);
130    void seclist_init (HWND dlg, int ctlid, int flags, keylist_t * ret_list);
131    int  seclist_select_key (HWND dlg, int ctlid, gpgme_key_t * ret_key);
132    
133    #endif /* WPT_KEYLIST_H */

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

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26