/[gpgoe]/trunk/src/GPGOE.h
ViewVC logotype

Annotation of /trunk/src/GPGOE.h

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1 - (hide annotations)
Fri Mar 24 13:36:54 2006 UTC (19 years, 1 month ago) by twoaday
File MIME type: text/plain
File size: 3961 byte(s)
Initial checkin of the GPGOE code.


1 twoaday 1 /* GPGOE.h - GnuPG for Outlook Express
2     * Copyright (C) 2001, 2002, 2003, 2006 Timo Schulz
3     *
4     * This file is part of GPGOE.
5     *
6     * GPGOE is free software; you can redistribute it and/or modify
7     * it under the terms of the GNU Lesser General Public License as published by
8     * the Free Software Foundation; either version 2.1 of the License, or
9     * (at your option) any later version.
10     *
11     * GPGOE is distributed in the hope that it will be useful,
12     * but WITHOUT ANY WARRANTY; without even the implied warranty of
13     * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14     * GNU General Public License for more details.
15     *
16     * You should have received a copy of the GNU Lesser General Public License
17     * along with GPGOE; if not, write to the Free Software Foundation,
18     * Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
19     */
20    
21     #ifndef GPGOE_H
22     #define GPGOE_H
23    
24     #ifdef __cplusplus
25     extern "C" {
26     #endif
27    
28     /* dummy until gettext support is finished. */
29     #define _(X) (X)
30    
31     #include <malloc.h>
32     /* wrapper around free. */
33     #define free_if_alloc(ptr) \
34     do { \
35     if (ptr) free (ptr); \
36     ptr = NULL; \
37     } while (0)
38    
39    
40     /* Wrapper for memory deallocation but overwrite the buffer before.
41     Useful for sentensive information like PINs or passwords. */
42     #define wipememory2(_ptr,_set,_len) do { \
43     volatile char *_vptr = (volatile char *)(_ptr); \
44     size_t _vlen = (_len); \
45     while (_vlen) { *_vptr = (_set); _vptr++; _vlen--; } \
46     } while(0)
47    
48     #define wipememory(_ptr,_len) wipememory2 (_ptr,0,_len)
49    
50     /* OE5 V5.x/V6 command id's. */
51     #define ID_OE5_SELECTALL 40125
52     #define ID_OE5_COPY 40484
53     #define ID_OE5_PASTE 40231
54     #define ID_OE5_ENCRYPT 40260
55     #define ID_OE5_SIGN 40299
56     #define ID_OE5_SEND 40411
57     #define ID_OE5_PREVMSG 40145
58     #define ID_OE5_NEXTMSG 40146
59    
60     /* Common dialogs (GetOpenFileName) */
61     #define OF_IDOK 1
62     #define OF_IDFILE 1152
63    
64     /* Config dialog id's */
65     #define ID_OE5_CFGENCRYPT 1053
66     #define ID_OE5_CFGSIGN 1052
67     #define ID_OE5_CFGDETAILS 2118
68     #define ID_OE5_CFGUID 2112
69     #define ID_OE5_UIDREQ 2117
70    
71    
72     /* Context for the recipient list. */
73     struct recip_list_s {
74     struct recip_list_s *next;
75     gpgme_key_t key;
76     char *addr;
77     };
78     typedef struct recip_list_s *recip_list_t;
79    
80     /* Actual plugin context. */
81     struct plugin_ctx_s {
82     HWND msg_wnd, main_wnd, addr_wnd;
83     HWND to_wnd, cc_wnd, bcc_wnd;
84     char *to;
85     char *cc;
86     char *bcc;
87     int sign;
88     int encrypt;
89     recip_list_t rset;
90     char errbuf[256];
91     };
92     typedef struct plugin_ctx_s *plugin_ctx_t;
93    
94     /* Viewer context. */
95     struct viewer_ctx_s {
96     const char *msg;
97     };
98     typedef struct viewer_ctx_s *viewer_ctx_t;
99    
100    
101     /*-- OEProc.c --*/
102     extern HINSTANCE mod_hinst_dll;
103     extern WNDPROC oe_proc_old;
104     LRESULT CALLBACK oe_proc (HWND hwnd, UINT msg, WPARAM wparam, LPARAM lparam);
105    
106     /*-- GPGOE.c --*/
107     int gpgoe_initialize (void);
108     int gpgoe_remove (void);
109    
110     /*-- OECrypto.c --*/
111     gpgme_error_t oe_handle_mail (plugin_ctx_t ctx);
112    
113     /*-- OEMisc.c --*/
114     char* utf8_to_native (const char *string);
115     char* get_clip_text (HWND hwnd);
116     int set_clip_text (HWND hwnd, const char *text, int nbytes);
117     void show_error (HWND hwnd, const char *caption,
118     UINT type, const char *fmt, ...);
119     void* xcalloc (size_t n, size_t m);
120     char* xstrdup (const char *s);
121    
122     /*-- dialogs --*/
123     BOOL CALLBACK encrypt_dlg_proc (HWND dlg, UINT msg, WPARAM wparam,
124     LPARAM lparam);
125     BOOL CALLBACK viewer_dlg_proc (HWND dlg, UINT msg, WPARAM wparam,
126     LPARAM lparam);
127     BOOL CALLBACK verify_dlg_proc (HWND dlg, UINT msg, WPARAM wparam,
128     LPARAM lparam);
129     BOOL CALLBACK pass_cb_dlg_proc (HWND dlg, UINT msg, WPARAM wparam,
130     LPARAM lparam);
131    
132     struct pass_cb_s;
133     typedef struct pass_cb_s *pass_cb_t;
134    
135     gpgme_error_t passphrase_cb (void *hook,
136     const char *uid_hint,
137     const char *passphrase_info,
138     int prev_was_bad, int fd);
139     void free_pass_cb (pass_cb_t cb);
140     pass_cb_t new_pass_cb (HWND main);
141    
142     #ifdef __cplusplus
143     }
144     #endif
145    
146     #endif /* GPGOE_H */

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26