// stdafx.h : include file for standard system include files,
// or project specific include files that are used frequently, but
// are changed infrequently
#pragma once
#define WIN32_LEAN_AND_MEAN // Exclude rarely-used stuff from Windows headers
#include <stdio.h>
#include <tchar.h>
#include <map>
#include "pkif.h"
enum Commands
{
};
//UTILITY FUNCTIONS
void DisplayMainMenu();
void CleanGlobals();
bool ProcessCommand();
long filesize(FILE *stream);
void Pause();
CPKIFPathSettingsPtr GetPathSettingsFromUser();
CPKIFTimePtr GetTimeOfInterest();
void GetPolicyOIDs(vector<CPKIFPolicyInformationPtr>& oids);
CPKIFCertificatePtr GetCertificate(const char* prompt);
bool SolicitBool(const char* prompt);
bool SolicitInteger(const char* prompt);
bool SolicitFile(const char* prompt, char** ppBuf, int* pLenOfBuf);
bool WriteToFile(const char* prompt, const unsigned char* pBuf, int nLenOfBuf);
//COMMAND FUNCTIONS
void Cmd_Quit();
void Cmd_NewDefaultMediator();
void Cmd_NewMediatorWithOCSP();
void Cmd_AddLDAP();
void Cmd_SpecifyDefaultSettings();
void Cmd_UseDefaultSettings();
void Cmd_BuildPath();
void Cmd_ValidatePath();
void Cmd_BuildAndValidatePath();
void Cmd_GenerateSignature();
void Cmd_VerifySignature();
void Cmd_EncryptMessage();
void Cmd_DecryptMessage();