/*++ 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)