home *** CD-ROM | disk | FTP | other *** search
- #ifndef CMANAGER_H
- #define CMANAGER_H
-
- /*
- $VER: CManager.h 1.7 (14.9.99) ©1999 by Simone Tellini
- */
-
- #ifndef MAKE_ID
- #define MAKE_ID(a,b,c,d) ((ULONG) (a)<<24 | (ULONG) (b)<<16 | (ULONG) (c)<<8 | (ULONG) (d))
- #endif
-
-
- #define CME_GROUP 0
- #define CME_USER 1
- #define CME_WWW 2
- #define CME_FTP 3
- #define CME_CHAT 4
- #define CME_TELNET 5
-
- #define CME_LIST 253
- #define CME_IMAGE 254
- #define CME_SECTION 255
-
- struct CMGroup {
- struct CMGroup *Succ;
- struct CMGroup *Prec;
- UBYTE Type;
- UBYTE Flags;
- TEXT Name[80];
- struct MinList Entries;
- struct MinList SubGroups;
- };
-
- #define GRPF_BOLD (1 << 0)
- #define GRPF_OPEN (1 << 1)
-
- struct CMUser {
- struct CMUser *Succ;
- struct CMUser *Prec;
- UBYTE Type;
- UBYTE Flags;
- TEXT Name[80]; // FirstName
- TEXT Address[128];
- TEXT City[128];
- TEXT Country[80];
- TEXT ZIP[20];
- TEXT Comment[512];
- TEXT Alias[40];
- TEXT Phone[40];
- TEXT Fax[40];
- TEXT EMail[128];
- TEXT WWW[256];
- TEXT FTP[256];
- TEXT LastName[80];
- TEXT Mobile[40];
- TEXT ICQ[20];
- TEXT Company[40]; // Business data
- TEXT BAddress[128];
- TEXT BCity[128];
- TEXT BCountry[80];
- TEXT BZIP[20];
- TEXT BPhone[40];
- TEXT BFax[40];
- TEXT BEMail[128];
- TEXT BJobTitle[20];
- TEXT BDepartment[40];
- TEXT BOffice[40];
- struct CMImage *Image;
- TEXT PGPUserID[80];
- TEXT BMobile[40];
- };
-
- struct CMWWW {
- struct CMWWW *Succ;
- struct CMWWW *Prec;
- UBYTE Type;
- UBYTE Flags;
- TEXT Name[80];
- TEXT WWW[256];
- TEXT Comment[512];
- TEXT WebMaster[80];
- TEXT EMail[128];
- struct DateStamp LastModified;
- struct DateStamp LastVisited;
- TEXT Alias[40];
- };
-
- struct CMFTP {
- struct CMFTP *Succ;
- struct CMFTP *Prec;
- UBYTE Type;
- UBYTE Flags;
- TEXT Name[80];
- TEXT FTP[256];
- TEXT Comment[512];
- TEXT Username[60];
- TEXT Password[60];
- ULONG Port;
- ULONG Retries;
- TEXT Local[256];
- struct DateStamp LastModified;
- struct DateStamp LastVisited;
- TEXT Alias[40];
- ULONG ExtraFlags; // lib v10
- UWORD WindowStyle; // lib v10
- };
-
- // flags
- #define FTPF_ADVANCED (1 << 0)
- #define FTPF_QUIET (1 << 1)
- #define FTPF_COMPRESS (1 << 2)
- #define FTPF_ADT (1 << 3)
- #define FTPF_ANONYMOUS (1 << 4)
- #define FTPF_LOCAL (1 << 5)
- #define FTPF_PROXY (1 << 6)
- #define FTPF_SHOW_HIDDEN (1 << 7)
-
- // extra flags
- #define FTPEF_SHOW_FTP_OUTPUT (1 << 0)
- #define FTPEF_NOOPS (1 << 1)
-
- // window style
- #define FTPWS_DUAL_LIST 0
- #define FTPWS_SINGLE_LIST 1
-
- struct CMChat {
- struct CMChat *Succ;
- struct CMChat *Prec;
- UBYTE Type;
- UBYTE Flags;
- TEXT Channel[128];
- TEXT Server[128];
- TEXT Maintainer[80];
- TEXT Nick[20];
- TEXT WWW[256];
- TEXT Comment[512];
- TEXT Password[60];
- };
-
- struct CMTelnet {
- struct CMTelnet *Succ;
- struct CMTelnet *Prec;
- UBYTE Type;
- UBYTE Flags;
- TEXT Host[80];
- ULONG Port;
- TEXT Login[80];
- TEXT Password[80];
- TEXT Comment[256];
- };
-
- #define TNETF_SSH (1 << 0)
-
- struct CMImage {
- struct CMImage *Succ;
- struct CMImage *Prec;
- UBYTE Type;
- UBYTE Flags;
- struct BitMap *BitMap;
- APTR Colors;
- };
-
-
- /*
- * Structure to be passed to CM_LoadData(), CM_SaveData(), CM_FreeData()
- */
-
- struct CMDataOld { // obsolete version, DON'T USE ANYMORE
- struct CMGroup *Users;
- struct CMGroup *WWWs;
- struct CMGroup *FTPs;
- struct CMGroup *Chat;
- TEXT CurrentUser[60];
- TEXT Path[256];
- BOOL FreeMe;
- };
-
- struct CMData {
- struct CMGroup *Users;
- struct CMGroup *WWWs;
- struct CMGroup *FTPs;
- struct CMGroup *Chat;
- TEXT CurrentUser[60]; // set by CM_LoadCurrentUserData()
- TEXT 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; // *** PRIVATE ***
- struct CMGroup *Telnet;
- };
-
- #define CMD_CURRENT_VERSION 1
-
- /*
- * Flags for CM_GetEntry()
- */
-
- #define CMGE_USER (1 << 0)
- #define CMGE_WWW (1 << 1)
- #define CMGE_FTP (1 << 2)
- #define CMGE_CHAT (1 << 3)
- #define CMGE_MULTISELECT (1 << 4) // CM_GetEntry returns a struct MinList *
- #define CMGE_TELNET (1 << 5)
-
-
-
-
-
- /*
- * CManager PRIVATE stuff
- */
-
- #define ENTRY_NEW (1 << 7)
-
- enum {
- SCP_WWW = 0, SCP_FTP, SCP_EMAIL,
- SCP_PHONE, SCP_FAX, SCP_IRC, SCP_DOPUSFTP,
- SCP_MOBILE, SCP_BUSINESS_EMAIL, SCP_BUSINESS_FAX,
- SCP_BUSINESS_PHONE, SCP_BUSINESS_MOBILE
- };
-
-
- #define STACK_SWAPPED (1 << 0)
- #define SEND_AREXX (1 << 1)
- #ifndef SAVED
- #define SAVED (1 << 2)
- #endif
- #define NO_LOGIN (1 << 3)
- #define FIXED_LOGIN (1 << 4)
- #define LOAD_FILE (1 << 5)
-
- extern struct CMGroup Users;
- extern struct CMGroup WWWs;
- extern struct CMGroup FTPs;
- extern struct CMGroup Chat;
-
- extern TEXT PubScreen[];
-
-
- #endif /* CMANAGER_H */
-