headers/ICKeys.h

/* ¥¥¥Start Header¥¥¥ */
 
/* File:         ICKeys.h
 * Generated by: 1.0d5
 * For:          IC 1.4
 * On:           Sunday, 14 September 1997, 21:17:55
 * 
 * This file is part of the Internet Configuration system and
 * is placed in the public domain for the benefit of all.
 */
 
/* ¥¥¥End Header¥¥¥ */
 
/*
    IMPORTANT NOTES ABOUT THE C CONVERSION
    --------------------------------------
    
    o Pascal "var" parameters are converted from "var x : y" to "y *x".  This
      means that when you see the parameter "y *x" you should be aware that
            you *cannot pass in nil*.  In future this restriction may be eased,
            especially for the attr parameter to ICGetPref.  Parameters where nil
            is legal are declared using the explicit pointer type, ie "yPtr x".
 
    o Strings are *Pascal* strings.  This means that they must be word aligned.
        MPW and Think C do this automatically.  The last time I check, Metrowerks
        C does not.  If it still doesn't, then IMHO it's a bug in their compiler
        and you should report it to them.
 
    o The canonical Internet Config interface is defined in Pascal.  These
        headers have not been thoroughly tested.  If there is a conflict between
        these headers and the Pascal interfaces, the Pascal should take precedence.
*/
 
/* ///////////////////////////////////////////////////////////////////////////////// */
 
#ifndef __ICKEYS__
#define __ICKEYS__
 
#ifndef __TYPES__
#include <Types.h>
#endif
 
#ifndef __ALIASES__
#include <Aliases.h>
#endif
 
/* ///////////////////////////////////////////////////////////////////////////////// */
 
/* ¥¥¥Start ICKeys.h¥¥¥ */
 
#define kICRealName "\pRealName"    /* PString -- real name of user */
#define kICEmail "\pEmail"  /* PString -- user@host.domain, email address of user, ie return address */
#define kICMailAccount "\pMailAccount"  /* PString -- user@host.domain, account from which to fetch mail */
#define kICMailPassword "\pMailPassword"    /* PString -- scrambled, password for MailAccount */
#define kICNewsAuthUsername "\pNewsAuthUsername"    /* PString -- user name for authorised news servers */
#define kICNewsAuthPassword "\pNewsAuthPassword"    /* PString -- scrambled, password for NewsAuthUsername */
#define kICArchiePreferred "\pArchiePreferred"  /* PString -- formatted, preferred Archie server */
#define kICArchieAll "\pArchieAll"  /* STR# -- formatted, list of Archie servers */
#define kICUMichPreferred "\pUMichPreferred"    /* PString -- formatted, preferred UMich server */
#define kICUMichAll "\pUMichAll"    /* STR# -- formatted, list of UMich servers */
#define kICInfoMacPreferred "\pInfoMacPreferred"    /* PString -- formatted, preferred Info-Mac server */
#define kICInfoMacAll "\pInfoMacAll"    /* STR# -- formatted, list of Info-Mac servers */
#define kICPhHost "\pPhHost"    /* PString -- host.domain, default Ph server */
#define kICWhoisHost "\pWhoisHost"  /* PString -- host.domain, default whois server */
#define kICFingerHost "\pFingerHost"    /* PString -- host.domain, default finger server */
#define kICFTPHost "\pFTPHost"  /* PString -- host.domain, default FTP server */
#define kICTelnetHost "\pTelnetHost"    /* PString -- host.domain, default Telnet address */
#define kICSMTPHost "\pSMTPHost"    /* PString -- host.domain, SMTP server */
#define kICNNTPHost "\pNNTPHost"    /* PString -- host.domain, NNTP server */
#define kICGopherHost "\pGopherHost"    /* PString -- host.domain, default Gopher server */
#define kICLDAPServer "\pLDAPServer"    /* PString -- host.domain */
#define kICLDAPSearchbase "\pLDAPSearchbase"    /* PString -- string LDAP thing */
#define kICWWWHomePage "\pWWWHomePage"  /* PString -- URL, users default WWW page */
#define kICWAISGateway "\pWAISGateway"  /* PString -- no idea */
#define kICListFont "\pListFont"    /* ICFontRecord -- font used for lists of items (eg news article lists) */
#define kICScreenFont "\pScreenFont"    /* ICFontRecord -- font used for monospaced text (eg news articles) */
#define kICDocumentFont "\pDocumentFont"    /* ICFontRecord -- font used for proportional text */
#define kICPrinterFont "\pPrinterFont"  /* ICFontRecord -- font used to print ScreenFont */
#define kICDownloadFolder "\pDownloadFolder"    /* ICFileSpec -- where to put newly downloaded files */
#define kICSignature "\pSignature"  /* TEXT -- append to news and mail messages */
#define kICOrganization "\pOrganization"    /* PString -- for X-Organization string */
#define kICPlan "\pPlan"    /* TEXT -- default response for finger servers */
#define kICQuotingString "\pQuotingString"  /* PString -- used to quote responses in news and mail */
#define kICMailHeaders "\pMailHeaders"  /* TEXT -- extra headers for mail messages */
#define kICNewsHeaders "\pNewsHeaders"  /* TEXT -- extra headers for news messages */
#define kICMapping "\pMapping"  /* ICMapEntries -- file type mapping, see documentation */
#define kICCharacterSet "\pCharacterSet"    /* ICCharTable -- Mac-to-Net and Net-to-Mac character translation */
#define kICHelper "\pHelper¥"   /* ICAppSpec -- helpers for URL schemes */
#define kICServices "\pServices"    /* ICServices -- TCP and IP port-to-name mapping */
#define kICNewMailFlashIcon "\pNewMailFlashIcon"    /* Boolean -- how to announce new mail */
#define kICNewMailDialog "\pNewMailDialog"  /* Boolean */
#define kICNewMailPlaySound "\pNewMailPlaySound"    /* Boolean */
#define kICNewMailSoundName "\pNewMailSoundName"    /* PString */
#define kICWebBackgroundColour "\pWebBackgroundColour"  /* RGBColor -- background colour for web pages */
#define kICNoProxyDomains "\pNoProxyDomains"    /* STR# -- list of domains not to be proxied */
#define kICUseSocks "\pUseSocks"    /* Boolean */
#define kICSocksHost "\pSocksHost"  /* PString -- host.domain, remember that host.domain format allows ":port" and " port" */
#define kICUseHTTPProxy "\pUseHTTPProxy"    /* Boolean */
#define kICHTTPProxyHost "\pHTTPProxyHost"  /* PString -- host.domain */
#define kICUseGopherProxy "\pUseGopherProxy"    /* Boolean */
#define kICGopherProxy "\pGopherProxy"  /* PString -- host.domain, see note in Prog Docs */
#define kICUseFTPProxy "\pUseFTPProxy"  /* Boolean */
#define kICFTPProxyHost "\pFTPProxyHost"    /* PString -- host.domain */
#define kICFTPProxyUser "\pFTPProxyUser"    /* PString -- first level FTP proxy authorisation */
#define kICFTPProxyPassword "\pFTPProxyPassword"    /* PString -- scrambled, password for FTPProxyUser */
#define kICFTPProxyAccount "\pFTPProxyAccount"  /* PString -- second level FTP proxy authorisation */
#define kICUsePassiveFTP "\pUsePassiveFTP"  /* Boolean -- use PASV command for FTP transfers */
#define kICSnailMailAddress "\pSnailMailAddress"    /* TEXT -- preferred mailing address */
#define kICMacSearchHost "\pMacSearchHost"  /* PString -- host for MacSearch queries */
#define kICWebSearchPagePrefs "\pWebSearchPagePrefs"    /* PString -- URL, users default search page */
 
/* ¥¥¥End ICKeys.h¥¥¥ */
 
#if PRAGMA_ALIGN_SUPPORTED
#pragma options align=mac68k
#endif
 
struct ICFontRecord {
    short size;
    Style face;
    char pad;
    Str255 font;
};
typedef struct ICFontRecord ICFontRecord, *ICFontRecordPtr, **ICFontRecordHandle;
 
struct ICCharTable {
    unsigned char net_to_mac[256];
    unsigned char mac_to_net[256];
};
typedef struct ICCharTable ICCharTable, *ICCharTablePtr, **ICCharTableHandle;
 
struct ICAppSpec {
    OSType fCreator;
    Str63 name;
};
typedef struct ICAppSpec ICAppSpec, *ICAppSpecPtr, **ICAppSpecHandle;
 
struct ICFileInfo {
    OSType fType;
    OSType fCreator;
    Str63 name;
};
typedef struct ICFileInfo ICFileInfo, *ICFileInfoPtr, **ICFileInfoHandle;
 
struct ICFileSpec {
    Str31 vol_name;
    long vol_creation_date;
    FSSpec fss;
    AliasRecord alias;
    /* plus extra data, aliasSize 0 means no alias manager present when
            ICFileSpecification was created */
};
typedef struct ICFileSpec ICFileSpec, *ICFileSpecPtr, **ICFileSpecHandle;
 
enum {
    ICfile_spec_header_size = sizeof(ICFileSpec) - sizeof(AliasRecord)
};
 
struct ICMapEntry {
    short total_length;
    short fixed_length;
    short version;
    OSType file_type;
    OSType file_creator;
    OSType post_creator;
    long flags;
    /* variable part starts here */
    Str255 extension;
    Str255 creator_app_name;
    Str255 post_app_name;
    Str255 MIME_type;
    Str255 entry_name;
};
typedef struct ICMapEntry ICMapEntry, *ICMapEntryPtr, **ICMapEntryHandle;
 
enum {
    ICmap_binary_bit = 0,                       /* file should be transfered in binary as opposed to text mode */
    ICmap_binary_mask = 0x00000001,
    ICmap_resource_fork_bit = 1,        /* the resource fork of the file is significant */
    ICmap_resource_fork_mask = 0x00000002,
    ICmap_data_fork_bit = 2,                /* the data fork of the file is significant */
    ICmap_data_fork_mask = 0x00000004,
 
    ICmap_post_bit = 3,                         /* post process using post fields */
    ICmap_post_mask = 0x00000008,
 
    ICmap_not_incoming_bit = 4,         /* ignore this mapping for incoming files */
    ICmap_not_incoming_mask = 0x00000010,
    ICmap_not_outgoing_bit = 5,         /* ignore this mapping for outgoing files */
    ICmap_not_outgoing_mask = 0x00000020,
 
    ICmap_fixed_length = 22                 /* number in fixed_length field */
};
 
struct ICServiceEntry {
    Str255 name;
    short port;
    short flags;
};
typedef struct ICServiceEntry ICServiceEntry, *ICServiceEntryPtr, **ICServiceEntryHandle;
 
struct ICServices {
    short count;
    ICServiceEntry services[1];
};
typedef struct ICServices ICServices, *ICServicesPtr, **ICServicesHandle;
 
enum {
    ICservices_tcp_bit = 0,
    ICservices_tcp_mask = 0x00000001,
    ICservices_udp_bit = 1,
    ICservices_udp_mask = 0x00000002
    /* both bits can be set, which means the service is both TCP and UDP, eg daytime */
};
 
#if PRAGMA_ALIGN_SUPPORTED
#pragma options align=reset
#endif
 
#endif