home *** CD-ROM | disk | FTP | other *** search
- #ifndef LIBRARIES_CMANAGER_H
- #define LIBRARIES_CMANAGER_H
-
- #ifndef EXEC_PORTS_H
- #include <exec/ports.h>
- #endif
-
- #ifndef DOS_DOS_H
- #include <dos/dos.h>
- #endif
-
- #ifndef UTILITY_TAGITEM_H
- #include <utility/tagitem.h>
- #endif
-
- /*
- ** $VER: CManager.h 25.3 (18.1.2004)
- ** Includes Release 25.3
- **
- ** CManager.h
- ** Global bookmarks manager shared library
- **
- ** Written by Simone Tellini and Alfonso Ranieri <alforan@tin.it>.
- **
- ** Released under the terms of the
- ** GNU Public Licence version 2
- */
-
- /***********************************************************************/
- /*
- ** Library
- */
-
- #define CMANAGERNAME "CManager.library"
- #define CMANAGERVER 25
-
- /***********************************************************************/
- /*
- ** General CM entry
- */
-
- struct CMEntry
- {
- struct CMEntry *Succ;
- struct CMEntry *Prec;
- UBYTE Type;
- UBYTE Flags;
- };
-
- /* Type */
- enum
- {
- CME_GROUP = 0,
- CME_USER = 1,
- CME_WWW = 2,
- CME_FTP = 3,
- CME_CHAT = 4,
- CME_TELNET = 5,
-
- CME_LIST = 253,
- CME_SECTION = 255,
- };
-
- /* Flags - FLAGS BIT 7 IS RESERVED !!! */
- enum
- {
- ENTRY_NEW = 1<<7,
- };
-
- /* Some macros to cast pointers */
- #define CMENTRY(e) ((struct CMEntry *)(e))
- #define CMGROUP(e) ((struct CMGroup *)(e))
- #define CMUSER(e) ((struct CMUser *)(e))
- #define CMWWW(e) ((struct CMWWW *)(e))
- #define CMFTP(e) ((struct CMFTP *)(e))
- #define CMCHAT(e) ((struct CMChat *)(e))
- #define CMTELNET(e) ((struct CMTelnet *)(e))
-
- /***********************************************************************/
- /*
- ** CM Group
- */
-
- struct CMGroup
- {
- struct CMGroup *Succ;
- struct CMGroup *Prec;
- UBYTE Type;
- UBYTE Flags;
-
- char Name[80];
- struct MinList Entries;
- struct MinList SubGroups;
- };
-
- enum
- {
- GRPF_BOLD = 1<<0,
- GRPF_OPEN = 1<<1,
- };
-
- /***********************************************************************/
- /*
- ** CM User
- */
-
- struct CMUser
- {
- struct CMUser *Succ;
- struct CMUser *Prec;
- UBYTE Type;
- UBYTE Flags;
-
- char Name[80];
- char Address[128];
- char City[128];
- char Country[80];
- char ZIP[20];
- char Comment[512];
- char Alias[40];
- char Phone[40];
- char Fax[40];
- char EMail[128];
- char WWW[256];
- char FTP[256];
- char LastName[80];
- char Mobile[40];
- char ICQ[20];
- char Company[40];
- char BAddress[128];
- char BCity[128];
- char BCountry[80];
- char BZIP[20];
- char BPhone[40];
- char BFax[40];
- char BEMail[128];
- char BJobTitle[20];
- char BDepartment[40];
- char BOffice[40];
- ULONG Reserved1;
- char PGPUserID[80];
- char BMobile[40];
- char ImageFile[256];
- };
-
- enum
- {
- USERFLAGS_Transparent = 1<<0,
- };
-
- /***********************************************************************/
- /*
- ** CM WWW
- */
-
- struct CMWWW
- {
- struct CMWWW *Succ;
- struct CMWWW *Prec;
- UBYTE Type;
- UBYTE Flags;
-
- char Name[80];
- char WWW[256];
- char Comment[512];
- char WebMaster[80];
- char EMail[128];
- struct DateStamp LastModified;
- struct DateStamp LastVisited;
- char Alias[40];
- };
-
- /***********************************************************************/
- /*
- ** CM FTP
- */
-
- struct CMFTP
- {
- struct CMFTP *Succ;
- struct CMFTP *Prec;
- UBYTE Type;
- UBYTE Flags;
-
- char Name[80];
- char FTP[256];
- char Comment[512];
- char Username[60];
- char Password[60];
- ULONG Port;
- ULONG Retries;
- char Local[256];
- struct DateStamp LastModified;
- struct DateStamp LastVisited;
- char Alias[40];
- ULONG ExtraFlags;
- UWORD WindowStyle;
- char EMail[128];
- };
-
- /*
- ** Before V20.1 FTPF_SHOW_HIDDEN was in Flags as (1<<7) (CM bug),
- ** but (1<<7) is now strictly reserved.
- ** FTPF_SHOW_HIDDEN moved now to ExtraFlags as (1<<2).
- */
-
- /* Flags */
- enum
- {
- FTPF_ADVANCED = 1<<0,
- FTPF_QUIET = 1<<1,
- FTPF_COMPRESS = 1<<2,
- FTPF_ADT = 1<<3,
- FTPF_ANONYMOUS = 1<<4,
- FTPF_LOCAL = 1<<5,
- FTPF_PROXY = 1<<6,
- };
-
- /* ExtraFlags */
- enum
- {
- FTPEF_SHOW_FTP_OUTPUT = 1<<0,
- FTPEF_NOOPS = 1<<1,
- FTPEF_SHOW_HIDDEN = 1<<2,
- };
-
- /* WindowStyle */
- enum
- {
- FTPWS_DUAL_LIST,
- FTPWS_SINGLE_LIST,
- };
-
- /***********************************************************************/
- /*
- ** CM Chat
- */
-
- struct CMChat
- {
- struct CMChat *Succ;
- struct CMChat *Prec;
- UBYTE Type;
- UBYTE Flags;
-
- char Channel[128];
- char Server[128];
- char Maintainer[80];
- char Nick[20];
- char WWW[256];
- char Comment[512];
- char Password[60];
- char EMail[128];
- };
-
- /***********************************************************************/
- /*
- ** CM Telnet
- */
-
- struct CMTelnet
- {
- struct CMTelnet *Succ;
- struct CMTelnet *Prec;
- UBYTE Type;
- UBYTE Flags;
-
- char Host[80];
- ULONG Port;
- char Login[80];
- char Password[80];
- char Comment[256];
- char EMail[128];
- };
-
- /* Flags */
- enum
- {
- TNETF_SSH = 1<<0,
- };
-
- /***********************************************************************/
- /*
- ** Struct used by CM_LoadData(), CM_SaveData(), CM_FreeData()
- */
-
- struct CMDataOld
- {
- struct CMGroup *Users;
- struct CMGroup *WWWs;
- struct CMGroup *FTPs;
- struct CMGroup *Chat;
- char CurrentUser[60];
- char Path[256];
- BOOL FreeMe;
- };
-
- struct CMData
- {
- struct CMGroup *Users;
- struct CMGroup *WWWs;
- struct CMGroup *FTPs;
- struct CMGroup *Chat;
- char CurrentUser[60]; /* set by CM_LoadCurrentUserData() */
- char Path[256]; /* set by CM_LoadCurrentUserData() */
- BOOL FreeMe; /* if TRUE, CM_FreeData() frees the structure as well */
- UWORD Version; /* version of this structure, you MUST fill it */
- ULONG SizeOf; /* *** *** */
- struct CMGroup *Telnet;
- };
-
- /* Version */
- enum
- {
- CMD_CURRENT_VERSION = 13,
- };
-
- /***********************************************************************/
- /*
- ** Flags for CM_GetEntry()
- */
-
- enum
- {
- CMGE_USER = 1<<0,
- CMGE_WWW = 1<<1,
- CMGE_FTP = 1<<2,
- CMGE_CHAT = 1<<3,
- CMGE_MULTISELECT = 1<<4,
- CMGE_TELNET = 1<<5,
- };
-
- /***********************************************************************/
- /*
- ** Values for CM_GetOption()
- */
-
- enum
- {
- CMO_AvoidGenesis,
- CMO_Version,
- };
-
- /***********************************************************************/
- /*
- ** Interface to CManager application
- */
-
- struct CMMessage
- {
- struct Message Msg;
- ULONG Command;
- ULONG Data;
- };
-
- enum
- {
- CMC_QUIT,
- CMC_GET_ENTRY,
- CMC_PORT,
- CMC_AREXX,
- CMC_FAIL,
- };
-
- /***********************************************************************/
- /*
- ** CM_StartCManagerA() tags
- **
- ** These are Simone Tellini's tags:
- ** Don't use them in other projects!
- */
-
- #define LTAGBASE ((int)0xF76B0010)
- #define CMLTAG(n) (LTAGBASE+(int)(n))
-
- #define SCMA_File CMLTAG(200)
- #define SCMA_PubScreen CMLTAG(201)
- #define SCMA_HideUsers CMLTAG(202)
- #define SCMA_HideWWW CMLTAG(203)
- #define SCMA_HideFTP CMLTAG(204)
- #define SCMA_HideChat CMLTAG(205)
- #define SCMA_HideTelnet CMLTAG(206)
-
- /***********************************************************************/
-
- #endif /* LIBRARIES_CMANAGER_H */
-