home *** CD-ROM | disk | FTP | other *** search
/ Amiga Format CD 28 / amigaformatcd28.iso / -seriously_amiga- / archivers / mpackppc / src / macickeys.h < prev    next >
C/C++ Source or Header  |  1998-04-27  |  7KB  |  193 lines

  1. /* (C) Copyright 1995 by Carnegie Mellon University
  2.  * All Rights Reserved.
  3.  *
  4.  * Permission to use, copy, modify, distribute, and sell this software
  5.  * and its documentation for any purpose is hereby granted without
  6.  * fee, provided that the above copyright notice appear in all copies
  7.  * and that both that copyright notice and this permission notice
  8.  * appear in supporting documentation, and that the name of Carnegie
  9.  * Mellon University not be used in advertising or publicity
  10.  * pertaining to distribution of the software without specific,
  11.  * written prior permission.  Carnegie Mellon University makes no
  12.  * representations about the suitability of this software for any
  13.  * purpose.  It is provided "as is" without express or implied
  14.  * warranty.
  15.  *
  16.  * CARNEGIE MELLON UNIVERSITY DISCLAIMS ALL WARRANTIES WITH REGARD TO
  17.  * THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
  18.  * AND FITNESS, IN NO EVENT SHALL CARNEGIE MELLON UNIVERSITY BE LIABLE
  19.  * FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
  20.  * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN
  21.  * AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING
  22.  * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
  23.  * SOFTWARE.
  24.  */
  25. /*
  26.     The canonical Internet Config interface is defined in Pascal.  These headers have
  27.     not been thoroughly tested.  If there is a conflict between these headers and the
  28.     Pascal interfaces, the Pascal should take precedence.
  29. */
  30.  
  31. /* ///////////////////////////////////////////////////////////////////////////////// */
  32.  
  33. #ifndef __ICKEYS__
  34. #define __ICKEYS__
  35.  
  36. #ifndef __TYPES__
  37. #include <Types.h>
  38. #endif
  39.  
  40. #ifndef __ALIASES__
  41. #include <Aliases.h>
  42. #endif
  43.  
  44. /* ///////////////////////////////////////////////////////////////////////////////// */
  45.  
  46. #define kICRealName "\pRealName"    /* PString */
  47. #define kICEmail "\pEmail"    /* PString -- user@host.domain */
  48. #define kICMailAccount "\pMailAccount"    /* PString -- user@host.domain */
  49. #define kICMailPassword "\pMailPassword"    /* PString -- scrambled */
  50. #define kICNewsAuthUsername "\pNewsAuthUsername"    /* PString -- host.domain */
  51. #define kICNewsAuthPassword "\pNewsAuthPassword"    /* PString -- scrambled */
  52. #define kICArchiePreferred "\pArchiePreferred"    /* PString -- formatted */
  53. #define kICArchieAll "\pArchieAll"    /* STR# -- formatted */
  54. #define kICUMichPreferred "\pUMichPreferred"    /* PString -- formatted */
  55. #define kICUMichAll "\pUMichAll"    /* STR# -- formatted */
  56. #define kICInfoMacPreferred "\pInfoMacPreferred"    /* PString -- formatted */
  57. #define kICInfoMacAll "\pInfoMacAll"    /* STR# -- formatted */
  58. #define kICPhHost "\pPhHost"    /* PString -- host.domain */
  59. #define kICWhoisHost "\pWhoisHost"    /* PString -- host.domain */
  60. #define kICFingerHost "\pFingerHost"    /* PString -- host.domain */
  61. #define kICFTPHost "\pFTPHost"    /* PString -- host.domain */
  62. #define kICTelnetHost "\pTelnetHost"    /* PString -- host.domain */
  63. #define kICSMTPHost "\pSMTPHost"    /* PString -- host.domain */
  64. #define kICNNTPHost "\pNNTPHost"    /* PString -- host.domain */
  65. #define kICGopherHost "\pGopherHost"    /* PString -- host.domain */
  66. #define kICLDAPServer "\pLDAPServer"    /* PString -- host.domain */
  67. #define kICLDAPSearchbase "\pLDAPSearchbase"    /* PString -- string LDAP thing */
  68. #define kICWWWHomePage "\pWWWHomePage"    /* PString -- URL */
  69. #define kICWAISGateway "\pWAISGateway"    /* PString -- no idea */
  70. #define kICScreenFont "\pScreenFont"    /* ICFontRecord */
  71. #define kICPrinterFont "\pPrinterFont"    /* ICFontRecord */
  72. #define kICTextCreator "\pTextCreator"    /* ICAppSpec */
  73. #define kICBinaryTypeCreator "\pBinaryTypeCreator"    /* ICFileInfo */
  74. #define kICDownloadFolder "\pDownloadFolder"    /* ICFileSpec */
  75. #define kICSignature "\pSignature"    /* TEXT */
  76. #define kICOrganization "\pOrganization"    /* PString */
  77. #define kICPlan "\pPlan"    /* TEXT */
  78. #define kICQuotingString "\pQuotingString"    /* PString */
  79. #define kICMailHeaders "\pMailHeaders"    /* TEXT */
  80. #define kICNewsHeaders "\pNewsHeaders"    /* TEXT */
  81. #define kICMapping "\pMapping"    /* ICMapEntries */
  82. #define kICCharacterSet "\pCharacterSet"    /* ICCharTable */
  83. #define kICHelper "\pHelperÂ¥"    /* ICAppSpec */
  84. #define kICServices "\pServices"    /* ICServices */
  85.  
  86. #if defined(powerc) || defined (__powerc)
  87. #pragma options align=mac68k
  88. #endif
  89.  
  90. struct ICFontRecord {
  91.     short size;
  92.     Style face;
  93.     char pad;
  94.     Str255 font;
  95. };
  96. typedef struct ICFontRecord ICFontRecord, *ICFontRecordPtr, **ICFontRecordHandle;
  97.  
  98. struct ICCharTable {
  99.     unsigned char net_to_mac[256];
  100.     unsigned char mac_to_net[256];
  101. };
  102. typedef struct ICCharTable ICCharTable, *ICCharTablePtr, **ICCharTableHandle;
  103.  
  104. struct ICAppSpec {
  105.     OSType fCreator;
  106.     Str63 name;
  107. };
  108. typedef struct ICAppSpec ICAppSpec, *ICAppSpecPtr, **ICAppSpecHandle;
  109.  
  110. struct ICFileInfo {
  111.     OSType fType;
  112.     OSType fCreator;
  113.     Str63 name;
  114. };
  115. typedef struct ICFileInfo ICFileInfo, *ICFileInfoPtr, **ICFileInfoHandle;
  116.  
  117. struct ICFileSpec {
  118.     Str31 vol_name;
  119.     long vol_creation_date;
  120.     FSSpec fss;
  121.     AliasRecord alias;
  122.     /* plus extra data, aliasSize 0 means no alias manager present when
  123.             ICFileSpecification was created */
  124. };
  125. typedef struct ICFileSpec ICFileSpec, *ICFileSpecPtr, **ICFileSpecHandle;
  126.  
  127. enum {
  128.     ICfile_spec_header_size = sizeof(ICFileSpec) - sizeof(AliasRecord)
  129. };
  130.  
  131. struct ICMapEntry {
  132.     short total_length;
  133.     short fixed_length;
  134.     short version;
  135.     OSType file_type;
  136.     OSType file_creator;
  137.     OSType post_creator;
  138.     long flags;
  139.     /* variable part starts here */
  140.     Str255 extension;
  141.     Str255 creator_app_name;
  142.     Str255 post_app_name;
  143.     Str255 MIME_type;
  144.     Str255 entry_name;
  145. };
  146. typedef struct ICMapEntry ICMapEntry, *ICMapEntryPtr, **ICMapEntryHandle;
  147.  
  148. enum {
  149.     ICmap_binary_bit = 0,                        /* file should be transfered in binary as opposed to text mode */
  150.     ICmap_binary_mask = 0x00000001,
  151.     ICmap_resource_fork_bit = 1,        /* the resource fork of the file is significant */
  152.     ICmap_resource_fork_mask = 0x00000002,
  153.     ICmap_data_fork_bit = 2,                /* the data fork of the file is significant */
  154.     ICmap_data_fork_mask = 0x00000004,
  155.  
  156.     ICmap_post_bit = 3,                            /* post process using post fields */
  157.     ICmap_post_mask = 0x00000008,
  158.  
  159.     ICmap_not_incoming_bit = 4,            /* ignore this mapping for incoming files */
  160.     ICmap_not_incoming_mask = 0x00000010,
  161.     ICmap_not_outgoing_bit = 5,            /* ignore this mapping for outgoing files */
  162.     ICmap_not_outgoing_mask = 0x00000020,
  163.  
  164.     ICmap_fixed_length = 22                    /* number in fixed_length field */
  165. };
  166.  
  167. struct ICServiceEntry {
  168.     Str255 name;
  169.     short port;
  170.     short flags;
  171. };
  172. typedef struct ICServiceEntry ICServiceEntry, *ICServiceEntryPtr, **ICServiceEntryHandle;
  173.  
  174. struct ICServices {
  175.     short count;
  176.     ICServiceEntry services[1];
  177. };
  178. typedef struct ICServices ICServices, *ICServicesPtr, **ICServicesHandle;
  179.  
  180. enum {
  181.     ICservices_tcp_bit = 0,
  182.     ICservices_tcp_mask = 0x00000001,
  183.     ICservices_udp_bit = 1,
  184.     ICservices_udp_mask = 0x00000002
  185.     /* both bits can be set, which means the service is both TCP and UDP, eg daytime */
  186. };
  187.  
  188. #if defined(powerc) || defined(__powerc)
  189. #pragma options align=reset
  190. #endif
  191.  
  192. #endif
  193.