Windows2003-3790/inetcore/wininet/gopher/gfrapip.h
2020-09-30 16:53:55 +02:00

166 lines
6.5 KiB
C

/*++
Copyright (c) 1994 Microsoft Corporation
Module Name:
gfrapip.h
Abstract:
Contains private or internal definitions for client gopher protocol
provider
Author:
Richard L Firth (rfirth) 13-Oct-1994
Revision History:
13-Oct-1994 rfirth
Created
--*/
//
// manifests
//
//
// gopher strings
//
#define GOPHER_REQUEST_TERMINATOR "\r\n"
#define GOPHER_REQUEST_TERMINATOR_LENGTH (sizeof(GOPHER_REQUEST_TERMINATOR) - 1)
#define GOPHER_DOT_TERMINATOR ".\r\n"
#define GOPHER_DOT_TERMINATOR_LENGTH (sizeof(GOPHER_DOT_TERMINATOR) - 1)
//
// gopher+ strings
//
#define GOPHER_PLUS_INDICATOR "\t+"
#define GOPHER_PLUS_INDICATOR_LENGTH (sizeof(GOPHER_PLUS_INDICATOR) - 1)
#define GOPHER_PLUS_ITEM_INFO "\t!"
#define GOPHER_PLUS_ITEM_INFO_LENGTH (sizeof(GOPHER_PLUS_ITEM_INFO) - 1)
#define GOPHER_PLUS_INFO_REQUEST "\t!\r\n"
#define GOPHER_PLUS_INFO_REQUEST_LENGTH (sizeof(GOPHER_PLUS_INFO_REQUEST) - 1)
#define GOPHER_PLUS_DIRECTORY_REQUEST "\t$"
#define GOPHER_PLUS_DIRECTORY_REQUEST_LENGTH (sizeof(GOPHER_PLUS_DIRECTORY_REQUEST) - 1)
#define GOPHER_PLUS_INFO_TOKEN "+INFO"
#define GOPHER_PLUS_INFO_TOKEN_LENGTH (sizeof(GOPHER_PLUS_INFO_TOKEN) - 1)
#define GOPHER_PLUS_ADMIN_TOKEN "+ADMIN"
#define GOPHER_PLUS_ADMIN_TOKEN_LENGTH (sizeof(GOPHER_PLUS_ADMIN_TOKEN) - 1)
#define GOPHER_PLUS_VIEWS_TOKEN "+VIEWS"
#define GOPHER_PLUS_VIEWS_TOKEN_LENGTH (sizeof(GOPHER_PLUS_VIEWS_TOKEN) - 1)
//
// single characters
//
#define GOPHER_FIELD_SEPARATOR '\t'
#define GOPHER_PLUS_SUCCESS_INDICATOR '+'
#define GOPHER_PLUS_ERROR_INDICATOR '-'
//
// misc.
//
#define INVALID_GOPHER_CHAR 0
#define INVALID_GOPHER_TYPE 0
#define DEFAULT_GOPHER_DISPLAY_STRING ""
#define DEFAULT_GOPHER_SELECTOR_STRING ""
#define UNKNOWN_GOPHER_TYPE 0
//
// types and masks
//
#define VALID_GOPHER_TYPES (GOPHER_TYPE_TEXT_FILE \
| GOPHER_TYPE_DIRECTORY \
| GOPHER_TYPE_CSO \
| GOPHER_TYPE_MAC_BINHEX \
| GOPHER_TYPE_DOS_ARCHIVE \
| GOPHER_TYPE_UNIX_UUENCODED \
| GOPHER_TYPE_INDEX_SERVER \
| GOPHER_TYPE_TELNET \
| GOPHER_TYPE_BINARY \
| GOPHER_TYPE_REDUNDANT \
| GOPHER_TYPE_TN3270 \
| GOPHER_TYPE_GIF \
| GOPHER_TYPE_IMAGE \
| GOPHER_TYPE_BITMAP \
| GOPHER_TYPE_MOVIE \
| GOPHER_TYPE_SOUND \
| GOPHER_TYPE_HTML \
| GOPHER_TYPE_PDF \
| GOPHER_TYPE_CALENDAR \
| GOPHER_TYPE_INLINE \
)
#define GOPHER_TYPE_MASK (~(GOPHER_TYPE_GOPHER_PLUS))
#define GOPHER_ATTRIBUTE_MASK (GOPHER_TYPE_GOPHER_PLUS)
#define GOPHER_FILE_MASK (GOPHER_TYPE_TEXT_FILE \
| GOPHER_TYPE_MAC_BINHEX \
| GOPHER_TYPE_DOS_ARCHIVE \
| GOPHER_TYPE_UNIX_UUENCODED \
| GOPHER_TYPE_BINARY \
| GOPHER_TYPE_GIF \
| GOPHER_TYPE_IMAGE \
| GOPHER_TYPE_BITMAP \
| GOPHER_TYPE_MOVIE \
| GOPHER_TYPE_SOUND \
| GOPHER_TYPE_HTML \
| GOPHER_TYPE_PDF \
| GOPHER_TYPE_CALENDAR \
| GOPHER_TYPE_INLINE \
)
#define GOPHER_DIRECTORY_MASK (GOPHER_TYPE_DIRECTORY)
#define GOPHER_DOT_TERMINATED_TYPES (GOPHER_TYPE_TEXT_FILE \
| GOPHER_TYPE_DIRECTORY \
| GOPHER_TYPE_MAC_BINHEX \
| GOPHER_TYPE_UNIX_UUENCODED \
| GOPHER_TYPE_INDEX_SERVER \
)
//
// gopher locator characters
//
#define GOPHER_CHAR_REDUNDANT '+'
#define GOPHER_CHAR_TEXT_FILE '0'
#define GOPHER_CHAR_DIRECTORY '1'
#define GOPHER_CHAR_CSO '2'
#define GOPHER_CHAR_ERROR '3'
#define GOPHER_CHAR_MAC_BINHEX '4'
#define GOPHER_CHAR_DOS_ARCHIVE '5'
#define GOPHER_CHAR_UNIX_UUENCODED '6'
#define GOPHER_CHAR_INDEX_SERVER '7'
#define GOPHER_CHAR_TELNET '8'
#define GOPHER_CHAR_BINARY '9'
#define GOPHER_CHAR_BITMAP ':'
#define GOPHER_CHAR_MOVIE ';'
#define GOPHER_CHAR_SOUND '<'
#define GOPHER_CHAR_IMAGE 'I'
//#define GOPHER_CHAR_BIG_M 'M'
#define GOPHER_CHAR_PDF 'P'
#define GOPHER_CHAR_TN3270 'T'
#define GOPHER_CHAR_CALENDAR 'c'
//#define GOPHER_CHAR_LITTLE_E 'e'
#define GOPHER_CHAR_GIF 'g'
#define GOPHER_CHAR_INLINE 'i'
#define GOPHER_CHAR_HTML 'h'
#define GOPHER_CHAR_SOUND_2 's'
//
// macros
//
#define IS_DOT_TERMINATED_REQUEST(request) \
((request & GOPHER_DOT_TERMINATED_TYPES) ? TRUE : FALSE)