/
Crimson2/alias/
Crimson2/area.tmp/
Crimson2/area.tmp/AnomalySpaceDock/
Crimson2/area.tmp/AnomalyStation/
Crimson2/area.tmp/AntHill/
Crimson2/area.tmp/ArcticTerrarium/
Crimson2/area.tmp/BuilderCity/
Crimson2/area.tmp/Dungeon/
Crimson2/area.tmp/MiningDock/
Crimson2/area.tmp/PipeSystem/
Crimson2/area.tmp/RattArea/
Crimson2/area.tmp/RobotFactory/
Crimson2/area.tmp/SilverDale/
Crimson2/area.tmp/StarshipFearless/
Crimson2/area.tmp/StationConduits/
Crimson2/area.tmp/TerrariumAlpha/
Crimson2/area.tmp/TerrariumBeta/
Crimson2/area.tmp/TestArea/
Crimson2/area.tmp/Void/
Crimson2/area/
Crimson2/area/AnomalySpaceDock/
Crimson2/area/AnomalyStation/
Crimson2/area/MiningDock/
Crimson2/area/PipeSystem/
Crimson2/area/SilverDale/
Crimson2/area/StationConduits/
Crimson2/area/Void/
Crimson2/board/
Crimson2/clone/
Crimson2/lib/
Crimson2/mole/
Crimson2/mole/mole_src/HELP/
Crimson2/player/
Crimson2/util/
Crimson2/wldedit/
Crimson2/wldedit/res/
#define SITE_INDEX_SIZE   256
#define SITE_BLOCK_SIZE   512
#define SITE_FILE         "lib/sitelist.tbl"

typedef struct SiteType {
  BYTE      sSite[SITE_MAX_NAME];/* site name or suffix */
  BYTE      sType;               /* local,banned etc */
  LWORD     sDate;               /* date banned */
  STR      *sPlayer;             /* player who banned this site */
} SITE;

#define SITE_OFFSITE 0
#define SITE_LOCAL   1
#define SITE_BANNED  2
#define SITE_BANNEW  3

extern INDEX     siteIndex;
extern BYTE     *sTypeList[];

extern void      SiteInit(void);
extern SITE     *SiteAlloc(BYTE *siteName, BYTE type, LWORD date, STR *player);
extern SITE     *SiteCreate(THING *thing, BYTE *siteName, BYTE type);
extern SITE     *SiteFree(SITE *site);
#define          SITEFREE(site) site=SiteFree(site)
extern SITE     *SiteFindExact(BYTE *key);
extern SITE     *SiteFind(BYTE *key);
extern BYTE      SiteGetType(SOCK *sock);
extern void      SiteRead(void);
extern void      SiteWrite(void);

#define Site(x) ((SITE*)x)