1    | /* FP: interface file for RIPE gnuPG */
2    | 
3    | #define INPUT_FD 0
4    | #define OUTPUT_FD 1
5    | #define ERROR_FD 2
6    | 
7    | #define LINE_LENGTH 1024
8    | #define STRING_LENGTH 255
9    | #define FILENAME_LENGTH 1024
10   | 
11   | #define ERRSTRING strerror (errno)
12   | 
13   | /* FP : global objects used as and interface with gnuPG */
14   | 
15   | typedef unsigned int u32;
16   | 
17   | struct VerifySignObject {
18   |   char iDocSigFilename[FILENAME_LENGTH],  /* IN  */
19   |     iSigFilename[FILENAME_LENGTH],        /* IN  */
20   |     outputPath[FILENAME_LENGTH],          /* IN  */
21   |     oStream[FILENAME_LENGTH];             /* OUT */
22   |   
23   |   char keyRing[FILENAME_LENGTH];
24   |   int isValid;
25   |   u32 keyID;
26   |   struct VerifySignObject *next, *inner;
27   | };
28   | 
29   | struct ReadCryptedObject {
30   |   char iFilename[FILENAME_LENGTH], 
31   |        oStream[FILENAME_LENGTH];
32   |   char keyRing[FILENAME_LENGTH];
33   |   int isValid;
34   |   u32 keyID;
35   | };
36   | 
37   | struct ImportKeyObject {
38   |   char iFilename[FILENAME_LENGTH];
39   |   char keyRing[FILENAME_LENGTH];
40   |   int rc;
41   |   u32 keyID; 
42   |   char fingerPrint[STRING_LENGTH];
43   | };
44   | 
45   | struct RemoveKeyObject {
46   |   char iFilename[FILENAME_LENGTH];
47   |   char keyRing[FILENAME_LENGTH];
48   |   int rc;
49   |   u32 keyID; 
50   | };
51   | 
52   | enum {
53   |    iKO_OK  = 0,
54   |    iKO_UNCHANGED,
55   |    iKO_NOUSERID,
56   |    iKO_GENERAL,
57   |    iKO_NOTVALIDUSERID,
58   |    iKO_NOPUBLICKEY,
59   |    iKO_NODEFAULTPUBLICKEYRING,
60   |    iKO_CRC_ERROR,
61   |    iKO_NO_OPENPGP_DATA,
62   |    iKO_NO_IN_FILES,
63   |    iKO_SECRET_KEY_PRESENT,
64   |    iKO_GENERALFAILURE
65   | };
66   | 
67   | enum {
68   |    vSO_IS_VALID  = 0,
69   |    vSO_KO,
70   |    vSO_CRC_ERROR,
71   |    vSO_NO_PUBLIC_KEY,
72   |    vSO_NO_OPENPGP_DATA,
73   |    vSO_NO_IN_FILES,
74   |    vSO_NO_OUT_FILES
75   | };
76   | 
77   | #ifdef __cplusplus
78   | extern "C" {
79   | #endif
80   | 
81   | void PA_VerifySignature(struct VerifySignObject *vSO);
82   | void PA_ImportKey(struct ImportKeyObject *iKO);
83   | void PA_RemoveKey(struct ImportKeyObject *iKO);
84   | void PA_Decrypt(struct ReadCryptedObject *rDO);
85   | 
86   | #ifdef __cplusplus
87   |  }
88   | #endif