modules/pa/gpg.h

/* [<][>][^][v][top]
[bottom][index][help] */

FUNCTIONS

This source file includes following functions.

   1 /***************************************
   2   $Revision: 1.14 $
   3 
   4   gpg.h - header for gpg.c .
   5 
   6   Status: COMPLETE, REVUED, TESTED
   7 
   8   ******************/ /******************
   9   Filename            : gpg.h
  10   Authors             : filippo@ripe.net
  11   OSs Tested          : Solaris 7
  12   ******************/ /******************
  13   Copyright (c) 2000                              RIPE NCC
  14  
  15   All Rights Reserved
  16   
  17   Permission to use, copy, modify, and distribute this software and its
  18   documentation for any purpose and without fee is hereby granted,
  19   provided that the above copyright notice appear in all copies and that
  20   both that copyright notice and this permission notice appear in
  21   supporting documentation, and that the name of the author not be
  22   used in advertising or publicity pertaining to distribution of the
  23   software without specific, written prior permission.
  24   
  25   THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
  26   ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS; IN NO EVENT SHALL
  27   AUTHOR BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY
  28   DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN
  29   AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
  30   OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
  31   ***************************************/
  32 
  33 #ifndef GPG_H
  34 #define GPG_H
  35 
  36 #include <netdb.h>
  37 #include <unistd.h>
  38 #include "mail_parser.h"
  39 
  40 /* FP: interface file for RIPE gnuPG */
  41 
  42 #define INPUT_FD 0
  43 #define OUTPUT_FD 1
  44 #define ERROR_FD 2
  45 
  46 #define LINE_LENGTH 1024
  47 #define STRING_LENGTH 255
  48 #define FILENAME_LENGTH 1024
  49 
  50 #define ERRSTRING strerror (errno)
  51 
  52 #define MAX_LINE_BUF 50000
  53 
  54 /* FP : global objects used as and interface with gnuPG */
  55 
  56 struct VerifySignObject {
  57   char iDocSigFilename[FILENAME_LENGTH],  /* IN  */
  58     iSigFilename[FILENAME_LENGTH],        /* IN  */
  59     outputPath[FILENAME_LENGTH],          /* IN  */
  60     oStream[FILENAME_LENGTH];             /* OUT */
  61   
  62   char keyRing[FILENAME_LENGTH];
  63   int isValid;
  64   u32 keyID;
  65   struct VerifySignObject *next;
  66   struct VerifySignObject *inner;
  67   int nMsg;
  68   int type;
  69   int isMIME;
  70 };
  71 
  72 struct ReadCryptedObject {
  73   char iFilename[FILENAME_LENGTH], 
  74        oStream[FILENAME_LENGTH];
  75   char keyRing[FILENAME_LENGTH];
  76   int isValid;
  77   u32 keyID;
  78 };
  79 
  80 struct ImportKeyObject {
  81   char iFilename[FILENAME_LENGTH];
  82   char keyRing[FILENAME_LENGTH];
  83   int rc;
  84   u32 keyID; 
  85   char fingerPrint[STRING_LENGTH];
  86 };
  87 
  88 struct RemoveKeyObject {
  89   char iFilename[FILENAME_LENGTH];
  90   char keyRing[FILENAME_LENGTH];
  91   int rc;
  92   u32 keyID; 
  93 };
  94 
  95 enum {
  96    iKO_OK  = 0,
  97    iKO_UNCHANGED,
  98    iKO_NOUSERID,
  99    iKO_GENERAL,
 100    iKO_NOTVALIDUSERID,
 101    iKO_NOPUBLICKEY,
 102    iKO_NODEFAULTPUBLICKEYRING,
 103    iKO_CRC_ERROR,
 104    iKO_NO_OPENPGP_DATA,
 105    iKO_NO_IN_FILES,
 106    iKO_SECRET_KEY_PRESENT,
 107    iKO_GENERALFAILURE
 108 };
 109 
 110 enum {
 111    vSO_IS_VALID  = 0,
 112    vSO_KO,
 113    vSO_CRC_ERROR,
 114    vSO_NO_PUBLIC_KEY,
 115    vSO_NO_OPENPGP_DATA,
 116    vSO_NO_IN_FILES,
 117    vSO_NO_OUT_FILES
 118 };
 119 
 120 enum {
 121   vSO_Type_PlainText = 0,
 122   vSO_Type_Unparsed,
 123   vSO_Type_ToBeGPGVerified,
 124   vSO_Type_Signed
 125 };
 126 
 127 #ifdef __cplusplus
 128 extern "C" {
 129 #endif
 130 
 131 void PA_VerifySignature(struct VerifySignObject *vSO);
 132 void PA_ImportKey(struct ImportKeyObject *iKO);
 133 void PA_RemoveKey(struct ImportKeyObject *iKO);
 134 void PA_Decrypt(struct ReadCryptedObject *rDO);
 135 EPNodePtr PA_ParseMessage(EPNodePtr ptr);
 136 
 137 #ifdef __cplusplus
 138  }
 139 #endif
 140 
 141 #endif

/* [<][>][^][v][top][bottom][index][help] */