home *** CD-ROM | disk | FTP | other *** search
- #ifndef __INC_POS_PDOS_NOTIFY_H
- #define __INC_POS_PDOS_NOTIFY_H
- /*******************************************************************
- Includes Release 24
- (C) Copyright 1995-1997 proDAD
- All Rights Reserved
-
- $AUT Holger Burkarth
- $DAT >>Notify.h<< 08 Jan 1997 09:40:45 - (C) ProDAD
- *******************************************************************/
- #ifndef __INC_POS_PDOS_DOSTYPES_H
- #include <pDOS/DosTypes.h>
- #endif
- #ifndef __INC_POS_PEXEC_MSGPORT_H
- #include <pExec/MsgPort.h>
- #endif
-
-
- /*----------------------------------
- -----------------------------------*/
- struct pOS_DosNotifyReq
- {
- struct pOS_Node nr_Node; /* for the Filesystem use */
-
- const CHAR *nr_Name; /* pOS_ConstructDosMsgXXX() vermerkt den Filename,
- ** pOS_DosStartNotify() setzt auf FilePart
- */
- const CHAR *nr_FullName; /* set by pDos - don't touch */
- ULONG nr_UserData[2]; /* for applications use */
- ULONG nr_Flags; /* (enum pOS_DosNotifyReqFlags) */
-
- union {
- UBYTE nr_Reserved1[12];
-
- struct {
- struct pOS_MsgPort *nrmg_Port; /* for NOTIREQF_Message => (struct pOS_DosNotifyMessage*) */
- } nr_Msg;
-
- struct {
- struct pOS_Task *nrsg_SigTask; /* for NOTIREQF_Signal */
- UBYTE nrsg_SigBit;
- UBYTE nrsg_pad;
- } nr_Sig;
- } nr_U;
-
-
- struct pOS_DosDevice *nr_DosDev; /* for pOS_DosEndNotify() */
- UBYTE nr_FSReserved[32]; /* for Filesystem use */
-
- UBYTE nr_Reserved2[32];
- };
-
-
-
- enum pOS_DosNotifyReqFlags /** nr_Flags **/
- {
- NOTIREQB_Message=0,
- NOTIREQB_Signal,
- NOTIREQB_WaitReply,
- NOTIREQB_Initial,
-
- NOTIREQF_Message =0x0001, /* send Message */
- NOTIREQF_Signal =0x0002, /* send Signal */
- NOTIREQF_WaitReply =0x0004,
- NOTIREQF_Initial =0x0008, /* event, when object exists */
-
- NOTIREQF_HandlerMask =0xffff0000
- };
-
-
-
- /*----------------------------------
- -----------------------------------*/
- struct pOS_DosNotifyMessage
- {
- struct pOS_Message nm_Message;
- const struct pOS_DosNotifyReq *nm_NReq; /* don't modify the request! */
-
- ULONG nm_Class; /* (enum pOS_DosNotifyMsgClass) */
- ULONG nm_Code; /* (enum pOS_DosIOReqCommands) */
- };
-
-
-
- enum pOS_DosNotifyMsgClass /** nm_Class **/
- {
- NOTIMSGCL_NReq =0x40000000,
- };
-
- #endif
-