home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
AmigActive 6
/
AACD06.ISO
/
AACD
/
Programming
/
DOpus4-GPL
/
Program
/
dopusstructures.h
< prev
next >
Wrap
C/C++ Source or Header
|
2000-01-27
|
8KB
|
422 lines
/*
Directory Opus 4
Original GPL release version 4.12
Copyright 1993-2000 Jonathan Potter
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
as published by the Free Software Foundation; either version 2
of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
All users of Directory Opus 4 (including versions distributed
under the GPL) are entitled to upgrade to the latest version of
Directory Opus version 5 at a reduced price. Please see
http://www.gpsoft.com.au for more information.
The release of Directory Opus 4 under the GPL in NO WAY affects
the existing commercial status of Directory Opus 5.
*/
#ifndef DOPUS_STRUCTURES
#define DOPUS_STRUCTURES
struct CustEntryMessage {
struct Message cem_Message;
int cem_Action;
char *cem_Data;
int cem_UserData;
};
struct NetworkStuff {
char *owner;
char *group;
char net_protbuf[10];
};
struct Directory {
struct Directory *last,*next;
char name[32];
int type;
int size;
int subtype;
int protection;
char *comment;
char *dispstr;
char protbuf[12],datebuf[20];
int selected;
char *description;
int userdata,userdata2;
struct DateStamp date;
UWORD owner_id,group_id;
struct NetworkStuff *network;
};
struct RecursiveDirectory {
struct RecursiveDirectory *next;
char name[32];
struct DateStamp date;
struct RecursiveDirectory *child;
};
struct Help {
struct Help *next;
char *lookup,*message;
};
struct ProcessStart {
BPTR ps_NextSeg;
UWORD ps_JMP;
void *ps_EntryPoint;
};
struct dopusfuncpar {
int which,stack;
unsigned char key,qual;
char type,pri,delay;
};
struct dopusfunction {
char name[16];
int which,stack;
unsigned char key,qual;
char type,pri,delay;
char fpen,bpen;
char pad;
char *function;
};
struct newdopusfunction {
char *name;
int pad3[3];
int which,stack;
unsigned char key,qual;
char type,pri,delay;
char fpen,bpen;
char pad;
char *function;
};
struct dopusfiletype {
struct dopusfiletype *next;
char type[32];
char typeid[8];
char actionstring[FILETYPE_FUNCNUM][40];
int which[FILETYPE_FUNCNUM],stack[FILETYPE_FUNCNUM];
char pri[FILETYPE_FUNCNUM],delay[FILETYPE_FUNCNUM];
unsigned char *recognition;
char *function[FILETYPE_FUNCNUM];
char *iconpath;
};
struct dopusgadgetbanks {
struct newdopusfunction gadgets[GADCOUNT];
struct dopusgadgetbanks *next;
};
struct dopushotkey {
struct dopushotkey *next;
UWORD code,qualifier;
char name[40];
struct dopusfunction func;
};
struct Config {
USHORT version;
USHORT magic;
char copyflags,deleteflags,errorflags,generalflags,iconflags;
char existflags,sepflags,sortflags,dynamicflags;
char sortmethod[2];
char hotkeyflags;
char menutit[5][16];
struct newdopusfunction menu[MENUCOUNT];
struct dopusfunction drive[DRIVECOUNT];
char outputcmd[80],output[80];
int gadgetrows;
char separatemethod[2];
char language[30];
char displaypos[2][16];
char displaylength[2][16];
char pubscreen_name[80];
USHORT Palette[16];
char gadgettopcol,gadgetbotcol;
char statusfg,statusbg;
char filesfg,filesbg,filesselfg,filesselbg;
char dirsfg,dirsbg,dirsselfg,dirsselbg;
char clockfg,clockbg;
char requestfg,requestbg;
char disknamefg,disknamebg,disknameselfg,disknameselbg;
char slidercol,arrowfg,arrowbg,littlegadfg,littlegadbg;
char pad3;
char scrdepth;
char screenflags;
int screenmode;
int scrw,scrh;
char fontbuf[40];
char arrowpos[3];
char pad4;
char startupscript[80];
char dirflags;
unsigned char bufcount;
char pad5[2];
char autodirs[2][30];
char pad5a[80];
UWORD hotkeycode,hotkeyqual;
char toolicon[80],projecticon[80],drawericon[80],defaulttool[80];
char priority;
char showdelay,viewbits,fadetime,tabsize;
char pad7[2];
char hiddenbit;
char showpat[40],hidepat[40];
char showpatparsed[40],hidepatparsed[40];
char icontype,scrclktype,showfree;
char pad8;
short iconx,icony;
short wbwinx,wbwiny;
char configreturnscript[80];
char fontsizes[NUMFONTS];
char fontbufs[NUMFONTS][40];
char uniconscript[80];
char sliderbgcol;
char pad_foo;
short scr_winx,scr_winy;
short scr_winw,scr_winh;
char morepadding[231];
char old_displaypos[2][8];
char dateformat,addiconflags;
char stringfgcol,stringbgcol;
char namelength[2];
char sliderwidth,sliderheight;
char formatflags;
short iconbutx,iconbuty;
char stringheight;
char stringselfgcol,stringselbgcol;
char generalscreenflags;
struct Rectangle scrollborders[2];
char old_displaylength[2][8];
char shellstartup[30];
char windowdelta;
char pad9a[397];
int loadexternal;
ULONG new_palette[48];
char arrowsize[3];
char slider_pos;
short config_x;
short config_y;
char pad10[1414];
};
struct recpath {
char *path;
struct recpath *next;
};
struct dopustaskmsg {
struct Message msg;
int command;
int total,value;
int flag;
char *data;
};
struct dopusconfigmsg {
struct Message msg;
int command;
char *buffer;
};
struct configconfig {
struct Config *config;
struct dopusfiletype *firsttype;
struct DOpusRemember *typekey;
struct dopusgadgetbanks *firstbank;
int changed;
char configname[256];
struct Window *Window;
struct Screen *Screen;
struct dopushotkey *firsthotkey;
};
struct ConfigStuff {
struct Config *config;
struct DOpusRemember *typekey;
struct dopusfiletype *firsttype;
struct dopusgadgetbanks *firstbank,*curbank;
struct dopushotkey *firsthotkey;
};
struct DirectoryWindow {
struct DirectoryWindow *next,*last;
int number,type;
struct Directory *firstentry;
struct Directory *firstfile;
struct Directory *firstdir;
char directory[256];
char diskname[32];
int total;
int filetot,dirtot,bytestot;
int filesel,dirsel,bytessel;
int offset,hoffset;
int oldoff,oldhoff;
int hlen;
int disktot,diskfree,diskblock;
char custhandler[32];
char realdevice[32];
char flags;
struct DateStamp dirstamp;
char volumename[32];
UWORD last_owner;
UWORD last_group;
char owner_name[32];
char group_name[32];
};
#define DWF_ABORTED 1
#define DWF_READONLY 2
struct RLEinfo {
unsigned char *sourceptr;
UBYTE **destplanes;
USHORT imagebpr,imageheight,imagedepth;
USHORT destbpr,destheight,destdepth;
char masking,compression;
int offset;
};
struct args {
char argstring[256];
struct args *next;
};
struct function_data {
struct args *arg_first,*arg_current,*arg_use;
struct DOpusRemember *arg_memkey;
struct recpath *reload_first,*reload_current,*recursive_path;
struct DOpusRemember *reload_memkey;
struct Directory *entry_current,*entry_first,entry_external;
int output_file,rereadsource,rereaddest;
int fileargpos,external_flag,activewin,inactivewin;
int function_count;
char scriptname[80],tempfile[80];
char source_path[256],dest_path[256];
char last_file[256];
struct DOpusFileReq file_request;
};
struct complete_entry {
struct complete_entry *next;
struct complete_entry *last;
char name[32];
};
struct path_complete {
char match[32];
char path[256];
struct complete_entry *firstentry;
struct complete_entry *currententry;
struct DOpusRemember *memory;
};
struct RememberData {
char copyflags;
char deleteflags;
char errorflags;
char displaypos[2][16];
char generalflags;
char iconflags;
char existflags;
char sortflags;
char dynamicflags;
char outputcmd[80];
char output[80];
char scrdepth;
char screenflags;
int screenmode;
int scrw;
int scrh;
char dirflags;
char defaulttool[80];
char showdelay;
char viewbits;
char fadetime;
char hiddenbit;
char showpat[40];
char hidepat[40];
char icontype;
char scrclktype;
char showfree;
char fontsizes[NUMFONTS];
char fontbufs[NUMFONTS][40];
char dateformat;
int gadgetrows;
char displaylength[2][16];
char windowdelta;
char sortmethod[2];
char separatemethod[2];
short wbwinx,wbwiny;
short scr_winw,scr_winh;
char pubscreen_name[80];
char portname[30];
};
struct ColourTable {
ULONG red;
ULONG green;
ULONG blue;
char pen;
char alloc;
};
#include "dopusmessage.h"
#endif