windows-nt/Source/XPSP1/NT/printscan/fax/provider/t30/headers/faxopt.h

155 lines
6.2 KiB
C
Raw Normal View History

2020-09-26 03:20:57 -05:00
/* Copyright Microsoft Corp 1993
*
* faxopt.c
*
* Include file for faxopt.dll
*
*
* Created: 1/10/93
* Author: mikegins
*/
#ifndef __FAXOPT_H__
#define __FAXOPT_H__ 1
#ifndef __FAXSEC_H__
#define SEC_SUCCESS 0 /* Operation succeeded */
#define SEC_BADFILE 1 /* File cannot be opened */
#define SEC_KEYTOOSMALL 2 /* Keybuffer too small */
#define SEC_NOMATCH 3 /* No key of requested type found for
specified keyholder, or too many matches
were found (ie: joe@+123 and mart@+123 both
match @+123 with equal weight */
#define SEC_FILECORRUPT 4 /* File integrity check failed */
#define SEC_NOMEMORY 5 /* Aborted due to low memory conditions */
#define SEC_BADPTR 6 /* An invalid pointer was passed in */
#define SEC_USERABORT 7 /* User aborted operation */
#define SEC_BADPASS 8 /* Invalid password */
#define SEC_ABORT 9 /* Callback caused abort */
#define SEC_BUSY 10 /* Concurrent job already running */
#define SEC_WRONGKEY 11 /* Wrong key used in decryption */
#define SEC_NEWERVERSION 12 /* File generated by newer version of software,
and we cannot decrypt it */
#define SIG_SUCCESS 0 /* Operation succeeded */
#define SIG_BADINFILE 1 /* Bad input file */
#define SIG_BADOUTFILE 2 /* Bad output file */
#define SIG_FORGED 3 /* Signature does not match keyset */
#define SIG_AUTHENTIC 4 /* Signature matches keyset */
#define SIG_NOTVERIFIED 5 /* No key found, so can not verify signature */
#define SIG_BADPASS 6 /* Bad password or incorrect session handle */
#define SIG_NOMEM 7 /* Out of memory error */
#define SIG_ABORT 8 /* Callback caused abort */
#define SIG_BUSY 9 /* Concurrent job already running */
#endif
#define FAXOPTBASEATT 0x6000
#define iATTlogostr (FAXOPTBASEATT+ 0)
#define iATTlogo1 (FAXOPTBASEATT+ 1)
#define iATTlogo2 (FAXOPTBASEATT+ 2)
#define iATTlogo3 (FAXOPTBASEATT+ 3)
#define iATTlogo4 (FAXOPTBASEATT+ 4)
#define iATTlogo5 (FAXOPTBASEATT+ 5)
#define iATTinccover (FAXOPTBASEATT+ 6)
#define iATTtranshour (FAXOPTBASEATT+ 7)
#define iATTtransquart (FAXOPTBASEATT+ 8)
#define iATTdelivform (FAXOPTBASEATT+ 9)
#define iATTimagequal (FAXOPTBASEATT+10)
#define iATTprintorient (FAXOPTBASEATT+11)
#define iATTcheapbeghr (FAXOPTBASEATT+13)
#define iATTcheapendhr (FAXOPTBASEATT+14)
#define iATTcheapbegq (FAXOPTBASEATT+15)
#define iATTcheapendq (FAXOPTBASEATT+16)
#define iATTnumret (FAXOPTBASEATT+17)
#define iATTminbetret (FAXOPTBASEATT+18)
#define iATTpapersize (FAXOPTBASEATT+19)
#define iATTtransprio (FAXOPTBASEATT+20)
#define iATTencrypt (FAXOPTBASEATT+21)
#define iATTsign (FAXOPTBASEATT+22)
#define iATTIncludeBody (FAXOPTBASEATT+23)
#define iATTSimplePwd (FAXOPTBASEATT+24)
#define SelectUser Func20
WORD FAR PASCAL SelectUser(LPSTR userid, DWORD userinst, LPSTR olduser,
LPSTR selecteduser);
#define GetSimplePwd Func21
WORD FAR PASCAL GetSimplePwd(LPSTR pwd);
#define ImportKeysDlg Func22
WORD FAR PASCAL ImportKeysDlg(LPSTR filename, HWND hDlg);
/* 0 = success, 1 = End of Job, 2 = failure */
typedef WORD FAR PASCAL ReadCB(DWORD hf, LPBUFFER FAR *buf);
typedef WORD FAR PASCAL WriteCB(DWORD hf, LPBUFFER buf);
typedef void FAR PASCAL LogCB(LPSTR userid, DWORD userinst);
/* 0 = continue, 1 = abort */
typedef WORD FAR PASCAL SigCB(DWORD hf, LPSTR username, WORD result);
#if FALSE
#define MailStarting Func00
void FAR PASCAL MailStarting(LogCB *LoginCB, LogCB *LogoutCB, LPSTR userid);
#define MailShutdown Func01
void FAR PASCAL MailShutdown(void);
#define EncryptInit Func02
WORD FAR PASCAL EncryptInit(LPSTR userid, DWORD userinst, LPSTR destuser,
WORD FAR *instance, LPBUFFER buf);
#define EncryptData Func03
WORD FAR PASCAL EncryptData(DWORD userinst, WORD inst, LPBUFFER buf);
#define DecryptInit Func04
WORD FAR PASCAL DecryptInit(LPSTR userid, DWORD userinst, LPSTR srcuser,
WORD FAR *instance, LPBUFFER buf);
#define DecryptData Func05
WORD FAR PASCAL DecryptData(DWORD userinst, WORD inst, LPBUFFER buf);
#define SimpleEncryptInit Func06
WORD FAR PASCAL SimpleEncryptInit(LPSTR pwd, WORD FAR *instance, LPBUFFER buf);
#define SimpleEncryptData Func07
WORD FAR PASCAL SimpleEncryptData(WORD inst, LPBUFFER buf);
#define SimpleDecryptInit Func08
WORD FAR PASCAL SimpleDecryptInit(LPSTR pwd, WORD FAR *instance, LPBUFFER buf);
#define SimpleDecryptData Func09
WORD FAR PASCAL SimpleDecryptData(WORD inst, LPBUFFER buf);
#ifndef DELRINA
#define SignFile Func10
#endif
WORD FAR PASCAL SignFile(ReadCB *readCB, DWORD readHand, WriteCB *writeCB,
DWORD writeHand, LPSTR userid, DWORD userinst,
LPSTR filename, WORD FAR *HeaderSize);
#define UnSignFile Func11
WORD FAR PASCAL UnSignFile(ReadCB FAR *readCB, DWORD readHand,
WriteCB FAR *writeCB,DWORD writeHand);
#ifndef DELRINA
#define ExistsPubKey Func12
#endif
BOOL FAR PASCAL ExistsPubKey(LPSTR name);
#define IsUserLoggedIn Func13
WORD FAR PASCAL IsUserLoggedIn(void);
#define SignFileHeaderSize Func14
WORD FAR PASCAL SignFileHeaderSize(ReadCB FAR *readCB, DWORD readHand,
WORD FAR *headersize, LPSTR filename);
#define GetSignatures Func15
WORD FAR PASCAL GetSignatures(ReadCB FAR *readCB, DWORD readHand,
SigCB FAR *sigCB, DWORD sigHand, LPSTR filename);
/* Call to start hashing bft header. Returns 0 for failure, or non-zero
context for passing to SendBFTHash and DoneBFTHash */
#define StartBFTHash Func23
WORD FAR PASCAL StartBFTHash(void);
/* Pass in context from StartBFTHash, and buffer with length */
#define SendBFTHash Func24
void FAR PASCAL SendBFTHash(WORD Context, BYTE FAR *buf, WORD len);
/* Pass in context after done calling SendBFTHash. If salt points to 3 bytes
which are 0, a salt is generated and returned, else the salt is used.
Key must be 5 bytes, from which the actual key is derived. Res must be 16
bytes long to receive hashed encrypted result. */
#define DoneBFTHash Func25
void FAR PASCAL DoneBFTHash(WORD Context, BYTE FAR *salt, BYTE FAR *key,
BYTE FAR *res);
#endif
#endif