+++ /dev/null
-/* v.h -- header for vlib.c */
-
-#ifndef _VERSION_INC
-#define _VERSION_INC
-
-/*
- * values for op_code field
- */
-
-enum v_op_code
- {
- V_CHECK, /* op codes from server to client */
- V_CHECK_AND_LOG,
- V_LOG,
- V_LOG_PANIC,
- V_OK, /* op codes from client to server */
- V_ERROR,
- V_BAD_OP_CODE /* make sure this one is last */
- };
-
-/*
- * Values for status field
- */
-
-
-#define V_REQUIRED 'R' /* new verison is absolutely required!! */
-#define V_RECOMMENDED 'r' /* new version is recommended. */
-#define V_OPTIONAL 'o' /* new version is optional */
-#define V_UP_TO_DATE 'u'
-#define V_NEW_DOCUMENTATION 'd'
-#define V_MESSAGE 'm' /* arbitrary message */
-#define V_BAD_STATUS '?' /* make sure this one is last */
-
-static struct
- {
- char status;
- char *status_name;
- } version_status[] =
- {
- V_REQUIRED, "required",
- V_RECOMMENDED, "recommended",
- V_OPTIONAL, "optional",
- V_UP_TO_DATE, "up_to_date",
- V_NEW_DOCUMENTATION, "new_documentation",
- V_MESSAGE, "message",
- V_BAD_STATUS, "bad_status"
- };
-
-#define V_MAXDATA 700
-
-
-/*
- * The general strategy here is we have two formats, a parsed format and a network format...
- * "v_info" is parsed, and "v_pkt" is for the network. Note that the total size of all the
- * strings in "v_info" had better fit into V_MAXDATA or we'll have some trouble assembling
- * the packet. In a future protocol version, perhaps we'll actually USE the packet sequencing
- * fields we've already declared, and send things in multiple packets....
- */
-
-struct v_info
- {
- char *appl_name; /* Typically, these are pointers into */
- char *appl_vers; /* a struct v_pkt's */
- char *platform; /* data field (and are null-terminated strings) */
- char *status; /* status of this version */
- /* this string should be length 1, eg, V_OPTIONAL */
- char *message;
- };
-
-struct v_pkt
- {
- unsigned short protocol_version;
- unsigned short packet_number;
- unsigned short number_of_packets;
- unsigned short op_code;
- unsigned long seq;
- char data[V_MAXDATA]; /* buffer of null delimited strings */
- };
-
-#ifdef TEST
-# define VERSION_FILE "/afs/net/project/net_dev/versions/test-version.txt"
-# define VERSION_DB_FILE "/afs/net/project/net_dev/versions/test-db"
-#else
-# define VERSION_FILE "/afs/net/project/net_dev/version_db/version.txt"
-# define VERSION_DB_FILE "/afs/net/project/net_dev/version_db/db"
-#endif
-
-#define VERSION_LOG_DIR "/site/versions/"
-#define VERSION_ERROR_LOG "bad-requests"
-#define VERSION_SERVER_HOST "versions.mit.edu"
-#define VERSION_SERVER_PORT 8500
-#define VERSION_CLIENT_PORT (VERSION_SERVER_PORT+1)
-#define VERSION_PROTOCOL_VERSION 1
-#define V_BASE_SIZE (sizeof(struct v_pkt)-V_MAXDATA)
-#define DLM ':'
-#define KEY_SIZE 100
-#define LOG_CLASS LOG_LOCAL4
-
-#define V_MACOS "MacOS"
-#endif /* _VERSION_INC */
-/* end of file */
+++ /dev/null
-/*
- *----------------------------------------------------------------
- *
- * $Source$
- * $Revision$
- * $Date$
- * $State$
- * $Author$ Jason Sachs (nosaj)
- * $Locker$
- *
- * $Log$
- * Revision 1.2 1997/04/29 10:45:02 tytso
- * Remove #include of "mitcpyrt.h" (since it's of dubious legal value, and
- * the file doesn't exist.)
- *
- * Revision 1.1 1997/04/17 15:25:52 tytso
- * Add MIT's version server include files and libraries.
- *
- * Revision 1.3 92/08/27 10:44:51 pbh
- * alpha 0.2a check in
- * rebuilt manually
- *
- * Revision 0.1 92/08/25 10:00:20 pbh
- * alpha 0.1a
- */
-
-
-
-/* vs.h -- defines for the Version Server checking routines. */
-
-/* jms 6/3/92 */
-
-#ifndef VS_HEADER_STUFF
-#define VS_HEADER_STUFF
-
-#include "v.h"
-#include <stdlib.h>
-
-typedef unsigned char VS_Status;
-typedef unsigned long VS_Request; /* For compatibility reasons */
-
-#if defined(WINDOWS) || defined(MEWEL)
- #ifdef VS_INCWINDOWS
- #include <windows.h>
- #endif /* should we include windows.h here? */
-#else
- #ifndef FAR /* il 7/25/95 */
- #define FAR
- /* no need for that here */
- #endif
-
- #ifndef BOOL /* il 7/25/95 */
- #define BOOL int
- #endif
-
- #ifndef NULL
- #define NULL 0
- #endif /* Null */
-
-#endif
-
-/* patch for nt. il 7/24/95 -- adding nt */
-#include "vs_nt.h"
-
-typedef struct v_req_info VS_ReqInfo, *VS_ReqInfoPtr;
-#define VS_NAT_ReqInfoPtr VS_ReqInfo *
-
-#if defined(MEWEL) || defined(WINDOWS)
- #if defined(WIN32) /* il 7/27/95 -- added nt */
- #define RequestAlloc (VS_Request) LocalAlloc
- #define RequestLock(request) (VS_ReqInfoPtr) LocalLock((LOCALHANDLE)(request))
- #define RequestFree(request) LocalFree((LOCALHANDLE)(request))
- #define RequestUnlock(request) LocalUnlock((LOCALHANDLE)(request))
- #else
- #define RequestAlloc (VS_Request) LocalAlloc
- #define RequestLock(request) (VS_ReqInfoPtr) LocalLock((LOCALHANDLE)(LOWORD(request)))
- #define RequestFree(request) LocalFree((LOCALHANDLE)(LOWORD(request)))
- #define RequestUnlock(request) LocalUnlock((LOCALHANDLE)(LOWORD(request)))
- #endif
-#else
- #define RequestAlloc(flags,size) (VS_Request) malloc(size)
- #define RequestLock (char *)
- #define RequestFree(request) free((char *) request)
- #define RequestUnlock(request) /* nothin' */
-#endif /* jms 08/13/93 */
-
-/* status codes */
-
-#define V_E_SELECT 255
-#define V_E_TIMEOUT 254
-#define V_E_SELECT_STRANGEFD 253
-#define V_E_RECVFROM 252
-#define V_E_UNKNOWN 251
-#define V_E_BAD_OP_CODE 250
-#define V_E_HOSTNOTFOUND 249
-#define V_E_SOCKET 248
-#define V_E_BIND 247
-#define V_E_SENDTO 246
-#define V_E_DLLNOTFOUND 245
-#define V_E_NOMEMORY 244
-#define V_E_CANCEL 243
-
-#define VSR_OK 0
-
-/* classifications of errors */
-
-#define V_C_NOERROR 0
-#define V_C_TRY_AGAIN 1
-#define V_C_DEFINITE 2
-#define V_C_FAIL 3
-
-extern VS_Status _far _cdecl err_classify(VS_Status error);
-#if defined(MEWEL) || defined(WINDOWS)
-/* jms 2/16/93 */
-extern BOOL _far _cdecl v_complain(VS_Status error, LPSTR inifilename);
-#endif
-
-#define V_TRY_AGAIN(status) (err_classify(status)==V_C_TRY_AGAIN)
-#define V_FAIL(status) (err_classify(status)==V_C_FAIL)
-#define V_DEFINITE(status) (err_classify(status)==V_C_DEFINITE)
-
-#define V_STATUS(vinfo) ((VS_Status)*((vinfo).status))
- /* grumble... this abstraction should be in v.h... */
-
-/* the main routines */
-
-#if defined(MEWEL) || defined(WINDOWS)
-#ifndef NOCODECOVER
-extern VS_Request _far _cdecl VSFormRequest(char FAR *name, char FAR *version,
- char FAR *ininame, char FAR *codecover, HWND hWnd,
- int HowToCheck);
-#else
-extern VS_Request _far _cdecl VSFormRequest(char FAR *name, char FAR *version,
- char FAR *ininame, HWND hWnd,
- int HowToCheck);
-#endif
-
-#else
-extern VS_Request _far _cdecl VSFormRequest(char *name, char *version, int HowToCheck);
-#endif
-
-extern VS_Status _far _cdecl VSProcessRequest(VS_Request request);
-#if defined(WINDOWS) || defined(MEWEL)
-extern void _far _cdecl WinVSReportRequest(VS_Request request, HWND hWnd, char FAR *title);
-extern void _far _cdecl TTChangeRegistration(char FAR *ininame, HWND hWnd, LPSTR DlgBoxName);
-extern BOOL _far _cdecl v_complain(VS_Status error, LPSTR inifilename);
-#else
-extern void _far _cdecl TTYVSReportRequest(VS_Request request);
-#endif
-extern void _far _cdecl VSDestroyRequest(VS_Request request);
-extern void _far _cdecl PickVersionServer(char FAR *name);
-#define HNAMESIZE 40 /* max. chars in the VS server name. */
-#define HSPSIZE 2 /* no. chars in send packets option */
-
-#ifndef VS_INTERNAL
-extern VS_Request _far _cdecl MakeRequest( VS_Status status );
-extern VS_Status _far _cdecl ReqStatus ( VS_Request hrequest );
-#endif
-
-#endif /* VS_HEADER_STUFF */
-
-/*
- * The application should call the first two routines, and optionally
- * the third, in order. It should only quit if CheckVS returns V_REQUIRED.
- * If this is a Windows/Mewel program, a call to PostQuitMessage(0) is the
- * best way to do things, unless some cleanup needs to be done... but the
- * Version Server checking should be done as early as possible so this
- * shouldn't be a problem.
- */
-
-#if 0
-/* here's an example: */
- VS_Request request;
- VS_Status status;
-
- request = VSFormRequest(APPLICATION_NAME, APP_VER, "1st alpha");
- status = VSProcessRequest(request);
- WinVSReportRequest(request, hMainWin, "Version Server Status Report");
- if (status == V_REQUIRED)
- PostQuitMessage(0); /* This is an outdated version of TechInfo! */
- VSDestroyRequest(request);
-#endif