/*
 * Copyright 1990 by Baylor College of Medicine ALL RIGHTS RESERVED. 
 *
 * This program is subject to a license agreement between 
 * Baylor College of Medicine and MIT. Any use inconsistent with
 * said license and any use by persons other than the faculty, 
 * students and staff at MIT or any use on a computer not operated 
 * as part of the Athena Computing Environment (ACE) is expressly 
 * prohibited.
 */
/****************************************************************
 * File: vns_proto.h 
 * Date: 02/14/91
 *
 * Description:
 *   This header file contains definitions for the VNS protocol.
 *   The file also contains the current major amd minor version
 *   numbers for this protocol. These should be incremented 
 *   anytime the protocol between the srvlib and dbsrv have
 *   changed. 
 *
 * Notes:
 *   This file was created from teh original files dbsrv_port.h,
 *   event_types.h, requests.h, and object_types.h.
 *
 * Revisions:
 ****************************************************************/
#ifndef __VNS_PROTO__
#define __VNS_PROTO__

/* VNS Protocol version */
#define VNS_PROTO_MAJOR  1
#define VNS_PROTO_MINOR  3

/* dbsrv event types */
#define EVT_ERR                      -1
#define EVT_DATA                      0
#define EVT_DELETE_NOTEBOOK           1
#define EVT_DELETE_PAGE               2
#define EVT_DELETE_OBJECT             3
#define EVT_ACCESS_ALLOWED            4
#define EVT_CREATE_PAGE               5
#define EVT_CREATE_OBJECT             6
#define EVT_DELETE_AUTHOR             7
#define EVT_MODIFY_NOTEBOOK           8
#define EVT_MODIFY_PAGE               9
#define EVT_MODIFY_OBJECT             10
#define EVT_ACCESS_DISALLOWED         11
#define EVT_OBJECT_CONTENTS_CHANGED   12
#define EVT_SHUTDOWN                  13
#define EVT_MESSAGE                   14
#define EVT_AUTHOR_LOGIN              15
#define EVT_AUTHOR_LOGOUT             16

/* request types */
#define REQ_DEBUG 0
#define REQ_ALLOWED_NOTEBOOK_USE_LIST 1
#define REQ_DELETE_NOTEBOOK 2
#define REQ_ADD_USER 3
#define REQ_KILL 4
#define REQ_CREATE_NOTEBOOK 5
#define REQ_CREATE_PAGE 6
#define REQ_CREATE_OBJECT 7
#define REQ_INQ_NOTEBOOK 8
#define REQ_INQ_PAGE 9
#define REQ_INQ_OBJECT 10
#define REQ_INQ_NOTEBOOK_PAGES 11
#define REQ_ALLOW_AUTHOR 12
#define REQ_DISALLOW_AUTHOR 13
#define REQ_MODIFY_NOTEBOOK 14
#define REQ_MODIFY_PAGE 15
#define REQ_MODIFY_OBJECT 16
#define REQ_GET_TEXT 17
#define REQ_SET_TEXT 18
#define REQ_GET_IMAGE 19
#define REQ_SET_IMAGE 20
#define REQ_INQ_PAGE_OBJECTS 21
#define REQ_DELETE_OBJECT 22
#define REQ_GET_AUTHOR_ACCESS 23
#define REQ_GET_AUTHOR_LIST 24
#define REQ_VALIDATE_PAGE 25
#define REQ_BLURT_PAGE 26
#define REQ_DELETE_PAGE 27
#define REQ_FIND_NOTEBOOK_BY_NAME 28
#define REQ_FIND_PAGE_BY_NAME 29
#define REQ_TEST_ISLAND 30
#define REQ_VALIDATE_NOTEBOOK 31
#define REQ_INQ_PAGE_LINKS 32
#define REQ_INQ_NOTEBOOK_ORPHANS 33
#define REQ_SEARCH_NOTEBOOK 34
#define REQ_SEARCH_DATABASE 35
#define REQ_BLURT_NOTE 36
#define REQ_GET_ACTIVE_AUTHORS 37
#define REQ_SHUTDOWN_CLIENTS 38

/* object types */
#define IMAGE_OBJECT_TYPE 0
#define TEXT_OBJECT_TYPE 1
#define LINK_OBJECT_TYPE 2
#define ACTION_LINK_OBJECT_TYPE 3

#endif /* __VNS_PROTO__ */
