home *** CD-ROM | disk | FTP | other *** search
- /********************************************************************
- * $Author: lindner $
- * $Revision: 1.1 $
- * $Date: 1992/12/10 23:27:52 $
- * $Source: /home/mudhoney/GopherSrc/release1.11/object/RCS/GSgopherobj.h,v $
- * $Status: $
- *
- * Paul Lindner, University of Minnesota CIS.
- *
- * Copyright 1991, 1992 by the Regents of the University of Minnesota
- * see the file "Copyright" in the distribution for conditions of use.
- *********************************************************************
- * MODULE: GSgopherobj.h
- * Header file, abstraction of a gopher type
- *********************************************************************
- * Revision History:
- * $Log: GSgopherobj.h,v $
- * Revision 1.1 1992/12/10 23:27:52 lindner
- * gopher 1.1 release
- *
- *
- *********************************************************************/
-
-
- #ifndef GSGOPHEROBJ_H
- #define GSGOPHEROBJ_H
-
- #include "STRstring.h"
-
- #define A_FILE '0' /* Types of objects */
- #define A_DIRECTORY '1'
- #define A_CSO '2'
- #define A_ERROR '3'
- #define A_MACHEX '4'
- #define A_PCBIN '5'
- #define A_INDEX '7'
- #define A_TELNET '8'
- #define A_UNIXBIN '9'
- #define A_SOUND 's'
- #define A_EVENT 'e'
- #define A_CALENDAR 'c'
- #define A_GIF 'g'
- #define A_HTML 'h'
- #define A_TN3270 'T'
- #define A_MIME 'M'
- #define A_IMAGE 'I'
- #define A_EOI '.'
-
-
- /** Our Gopher Object Type **/
-
- struct g_struct
- {
- char sFileType; /* The type of object (A_FILE, A_CSO, etc)*/
- String *Title; /* User displayable title */
- String *Selstr; /* Selector string on host... */
- String *Host; /* Internet name of host */
- int iPort; /* Port number on host */
- int Itemnum; /* The number of the item in the directory*/
- int weight; /* The weight, expressed as a # from 0-1000 */
- };
-
-
-
- typedef struct g_struct GopherStruct;
- typedef struct g_struct GopherObj;
-
- #define GSgetType(a) ((a)->sFileType)
- #define GSsetType(a,b) (a)->sFileType=(b)
-
- #define GSgetTitle(a) ((STRget((a)->Title)))
- #define GSsetTitle(a,b) ((STRset((a)->Title, b)))
-
- #define GSgetPath(a) ((STRget((a)->Selstr)))
- #define GSsetPath(a,b) ((STRset((a)->Selstr, b)))
-
- #define GSgetHost(a) ((STRget((a)->Host)))
- #define GSsetHost(a,b) ((STRset((a)->Host, b)))
-
- #define GSgetPort(a) ((a)->iPort)
- #define GSsetPort(a,b) (a)->iPort=(b)
-
- #define GSgetNum(a) ((a)->Itemnum)
- #define GSsetNum(a,b) ((a)->Itemnum=(b))
-
- #define GSgetWeight(a) ((a)->weight)
- #define GSsetWeight(a,b) ((a)->weight=(b))
-
- /*** Real live functions defined in GSgopherobj.c ***/
-
- GopherObj *GSnew();
- GopherObj *GSnewSet();
- void GSdestroy();
- void GSinit();
- void GStoNet();
- void GStoNetHTML();
- int GSfromNet();
- int GSconnect();
- int GSfromLink();
- void GStoLink();
- void GScpy();
- #endif /*GSGOPHEROBJ_H*/
-