include/gpg.h

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

FUNCTIONS

This source file includes following functions.

   1 /***************************************
   2   $Revision: 1.18 $
   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,2001,2002                    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   char keyOwner[STRING_LENGTH];
  87 };
  88 
  89 struct RemoveKeyObject {
  90   char iFilename[FILENAME_LENGTH];
  91   char keyRing[FILENAME_LENGTH];
  92   int rc;
  93   u32 keyID; 
  94 };
  95 
  96 enum {
  97    iKO_OK  = 0,
  98    iKO_UNCHANGED,
  99    iKO_NOUSERID,
 100    iKO_GENERAL,
 101    iKO_NOTVALIDUSERID,
 102    iKO_NOPUBLICKEY,
 103    iKO_NODEFAULTPUBLICKEYRING,
 104    iKO_CRC_ERROR,
 105    iKO_NO_OPENPGP_DATA,
 106    iKO_NO_IN_FILES,
 107    iKO_SECRET_KEY_PRESENT,
 108    iKO_MULTIPLE_KEYS,
 109    iKO_GENERALFAILURE
 110 };
 111 
 112 enum {
 113    vSO_IS_VALID  = 0,
 114    vSO_KO,
 115    vSO_CRC_ERROR,
 116    vSO_NO_PUBLIC_KEY,
 117    vSO_NO_OPENPGP_DATA,
 118    vSO_NO_IN_FILES,
 119    vSO_NO_OUT_FILES
 120 };
 121 
 122 enum {
 123   vSO_Type_PlainText = 0,
 124   vSO_Type_Unparsed,
 125   vSO_Type_ToBeGPGVerified,
 126   vSO_Type_Signed
 127 };
 128 
 129 #ifdef __cplusplus
 130 extern "C" {
 131 #endif
 132 
 133 void PA_VerifySignature(struct VerifySignObject *vSO);
 134 void PA_ImportKey(struct ImportKeyObject *iKO);
 135 void PA_RemoveKey_withKeyID(struct ImportKeyObject *iKO);
 136 void PA_RemoveKey(struct ImportKeyObject *iKO);
 137 void PA_Decrypt(struct ReadCryptedObject *rDO);
 138 EPNodePtr PA_ParseMessage(EPNodePtr ptr);
 139 void GetFingerPrint(struct ImportKeyObject *iKO);
 140 void GetKeyOwner(struct ImportKeyObject *iKO);
 141 
 142 #ifdef __cplusplus
 143  }
 144 #endif
 145 
 146 #endif

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