added concrete implementations of putc(), getc(), getchar() and gets()
[tangerine.git] / workbench / devs / clipboard / clipboard_intern.h
blobc0f31c12af16bb7d96ede33f241ad72b5871baee
1 #ifndef CLIPBOARD_INTERN_H
2 #define CLIPBOARD_INTERN_H
4 /*
5 Copyright © 1995-2007, The AROS Development Team. All rights reserved.
6 $Id$
7 */
9 #include <exec/types.h>
10 #include <exec/devices.h>
11 #include <exec/semaphores.h>
12 #include <dos/dosextens.h>
13 #include <devices/clipboard.h>
14 #ifndef __MORPHOS__
15 #include <dos/bptr.h>
16 #endif
18 struct ClipboardBase
20 struct Device cb_device;
21 struct Library *cb_DosBase;
22 struct Library *cb_UtilityBase;
24 struct SignalSemaphore cb_SignalSemaphore;
25 struct MinList cb_UnitList;
27 struct MinList cb_HookList; /* List of hooks called when data
28 on the clipboard has changed */
30 STRPTR cb_ClipDir; /* CLIPS: or Devs:Clipboards/ */
34 #define CBUN_FILENAMELEN 28
36 struct PostRequest
38 struct MinNode pr_Link;
39 struct Task *pr_Waiter;
42 struct ClipboardUnit
44 struct ClipboardUnitPartial cu_Head; /* MUST be first! */
46 LONG cu_ReadID;
47 LONG cu_WriteID;
48 LONG cu_PostID;
49 UWORD cu_OpenCnt;
50 BPTR cu_clipFile;
51 UBYTE cu_clipFilename[CBUN_FILENAMELEN]; /* CLIPS:un or Devs:Clipboards/un
52 where un is the unit number. */
53 ULONG cu_clipSize;
55 struct SatisfyMsg cu_Satisfy;
56 struct MsgPort *cu_PostPort; /* Port to post message to when a
57 POST needs to be satisfied */
58 struct MinList cu_PostRequesters;
59 struct SignalSemaphore cu_UnitLock;
63 #ifdef DOSBase
64 #undef DOSBase
65 #endif
66 #define DOSBase CBBase->cb_DosBase
68 #ifdef UtilityBase
69 #undef UtilityBase
70 #endif
71 #define UtilityBase CBBase->cb_UtilityBase
73 #endif /* CLIPBOARD_INTERN_H */