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;
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; /* check if it works */
42   | };
43   | 
44   | enum {
45   |    iKO_OK  = 0,
46   |    iKO_UNCHANGED,
47   |    iKO_NOUSERID,
48   |    iKO_GENERAL,
49   |    iKO_NOTVALIDUSERID,
50   |    iKO_NOPUBLICKEY,
51   |    iKO_NODEFAULTPUBLICKEYRING,
52   |    iKO_CRC_ERROR,
53   |    iKO_NO_OPENPGP_DATA,
54   |    iKO_NO_IN_FILES,
55   |    iKO_GENERALFAILURE
56   | };
57   | 
58   | enum {
59   |    vSO_KO  = 0,
60   |    vSO_IS_VALID,
61   |    vSO_CRC_ERROR,
62   |    vSO_NO_PUBLIC_KEY,
63   |    vSO_NO_OPENPGP_DATA,
64   |    vSO_NO_IN_FILES,
65   |    vSO_NO_OUT_FILES
66   | };
67   | 
68   | #ifdef __cplusplus
69   | extern "C" {
70   | #endif
71   | 
72   | void PA_VerifySignature(struct VerifySignObject *vSO);
73   | void PA_ImportKey(struct ImportKeyObject *iKO);
74   | void PA_Decrypt(struct ReadCryptedObject *rDO);
75   | 
76   | #ifdef __cplusplus
77   |  }
78   | #endif