]> git.sur5r.net Git - cc65/blobdiff - include/ace.h
Harmonized the style of including headers from headers.
[cc65] / include / ace.h
index 4b7e211c218c6687924783b2d5bb80dde16057ec..8ce86e18fcc2310227c1ba7b7779cf0468109f89 100644 (file)
@@ -1,9 +1,35 @@
-/*
- * ace.h
- *
- * Ullrich von Bassewitz, 06.06.1998
- *
- */
+/*****************************************************************************/
+/*                                                                           */
+/*                                   ace.h                                   */
+/*                                                                           */
+/*                      ACE system-specific definitions                      */
+/*                                                                           */
+/*                                                                           */
+/*                                                                           */
+/* (C) 1998-2015, Ullrich von Bassewitz                                      */
+/*                Roemerstrasse 52                                           */
+/*                D-70794 Filderstadt                                        */
+/* EMail:         uz@cc65.org                                                */
+/*                                                                           */
+/*                                                                           */
+/* This software is provided 'as-is', without any expressed or implied       */
+/* warranty.  In no event will the authors be held liable for any damages    */
+/* arising from the use of this software.                                    */
+/*                                                                           */
+/* Permission is granted to anyone to use this software for any purpose,     */
+/* including commercial applications, and to alter it and redistribute it    */
+/* freely, subject to the following restrictions:                            */
+/*                                                                           */
+/* 1. The origin of this software must not be misrepresented; you must not   */
+/*    claim that you wrote the original software. If you use this software   */
+/*    in a product, an acknowledgment in the product documentation would be  */
+/*    appreciated but is not required.                                       */
+/* 2. Altered source versions must be plainly marked as such, and must not   */
+/*    be misrepresented as being the original software.                      */
+/* 3. This notice may not be removed or altered from any source              */
+/*    distribution.                                                          */
+/*                                                                           */
+/*****************************************************************************/
 
 
 
 
 
 
-#ifndef _STDDEF_H
-#include <stddef.h>
+/* Check for errors */
+#if !defined(__ACE__)
+#  error This module may only be used when compiling for the ACE os!
 #endif
 
 
 
+#include <stddef.h>
+
+
+
 struct aceDirentBuf {
-    unsigned long   ad_size;                   /* Size in bytes */
-    unsigned char   ad_date [8];       /* YY:YY:MM:DD:HH:MM:SS:TW */
-    char            ad_type [4];       /* File type as ASCIIZ string */
-    unsigned char   ad_flags;          /* File flags */
+    unsigned long   ad_size;            /* Size in bytes */
+    unsigned char   ad_date [8];        /* YY:YY:MM:DD:HH:MM:SS:TW */
+    char            ad_type [4];        /* File type as ASCIIZ string */
+    unsigned char   ad_flags;           /* File flags */
     unsigned char   ad_usage;           /* More flags */
     unsigned char   ad_namelen;         /* Length of name */
     char            ad_name [17];       /* Name itself, ASCIIZ */
 };
 
-int aceDirOpen (char* dir);
-int aceDirClose (int handle);
-int aceDirRead (int handle, struct aceDirentBuf* buf);
+int __cdecl__ aceDirOpen (char* dir);
+int __cdecl__ aceDirClose (int handle);
+int __cdecl__ aceDirRead (int handle, struct aceDirentBuf* buf);
 
 /* Type of an ACE key. Key in low byte, shift mask in high byte */
 typedef unsigned int aceKey;
 
 /* #defines for the shift mask returned by aceConGetKey */
-#define aceSH_KEY              0x00FF  /* Mask key itself */
-#define aceSH_MASK             0xFF00  /* Mask shift mask */
-#define aceSH_EXT              0x2000  /* Extended key */
-#define aceSH_CAPS             0x1000  /* Caps lock key */
-#define aceSH_ALT              0x0800  /* Alternate key */
-#define aceSH_CTRL             0x0400  /* Ctrl key */
-#define aceSH_CBM              0x0200  /* Commodore key */
-#define aceSH_SHIFT            0x0100  /* Shift key */
+#define aceSH_KEY               0x00FF  /* Mask key itself */
+#define aceSH_MASK              0xFF00  /* Mask shift mask */
+#define aceSH_EXT               0x2000  /* Extended key */
+#define aceSH_CAPS              0x1000  /* Caps lock key */
+#define aceSH_ALT               0x0800  /* Alternate key */
+#define aceSH_CTRL              0x0400  /* Ctrl key */
+#define aceSH_CBM               0x0200  /* Commodore key */
+#define aceSH_SHIFT             0x0100  /* Shift key */
 
 /* #defines for the options in aceConSetOpt/aceConGetOpt */
-#define aceOP_PUTMASK          1       /* Console put mask */
-#define        aceOP_CHARCOLOR         2       /* Character color */
-#define aceOP_CHARATTR         3       /* Character attribute */
-#define aceOP_FILLCOLOR                4       /* Fill color */
-#define aceOP_FILLATTR         5       /* Fill attribute */
-#define aceOP_CRSCOLOR         6       /* Cursor color */
-#define aceOP_CRSWRAP          7       /* Force cursor wrap */
-#define aceOP_SHSCROLL         8       /* Shift keys for scrolling */
-#define aceOP_MOUSCALE         9       /* Mouse scaling */
-#define aceOP_RPTDELAY         10      /* Key repeat delay */
-#define aceOP_RPTRATE          11      /* Key repeat rate */
+#define aceOP_PUTMASK           1       /* Console put mask */
+#define aceOP_CHARCOLOR         2       /* Character color */
+#define aceOP_CHARATTR          3       /* Character attribute */
+#define aceOP_FILLCOLOR         4       /* Fill color */
+#define aceOP_FILLATTR          5       /* Fill attribute */
+#define aceOP_CRSCOLOR          6       /* Cursor color */
+#define aceOP_CRSWRAP           7       /* Force cursor wrap */
+#define aceOP_SHSCROLL          8       /* Shift keys for scrolling */
+#define aceOP_MOUSCALE          9       /* Mouse scaling */
+#define aceOP_RPTDELAY          10      /* Key repeat delay */
+#define aceOP_RPTRATE           11      /* Key repeat rate */
 
 /* Console functions */
-void aceConWrite (char* buf, size_t count);
-void aceConPutLit (int c);
-void aceConPos (unsigned x, unsigned y);
-void aceConGetPos (unsigned* x, unsigned* y);
+void __cdecl__ aceConWrite (char* buf, size_t count);
+void __cdecl__ aceConPutLit (int c);
+void __cdecl__ aceConPos (unsigned x, unsigned y);
+void __cdecl__ aceConGetPos (unsigned* x, unsigned* y);
 unsigned aceConGetX (void);
 unsigned aceConGetY (void);
-char* aceConInput (char* buf, unsigned initial);
+char __cdecl__* aceConInput (char* buf, unsigned initial);
 int aceConStopKey (void);
 aceKey aceConGetKey (void);
-int aceConKeyAvail (aceKey* key);
-void aceConKeyMat (char* matrix);
-void aceConSetOpt (unsigned char opt, unsigned char val);
-int aceConGetOpt (unsigned char opt);
+int __cdecl__ aceConKeyAvail (aceKey* key);
+void __cdecl__ aceConKeyMat (char* matrix);
+void __cdecl__ aceConSetOpt (unsigned char opt, unsigned char val);
+int __cdecl__ aceConGetOpt (unsigned char opt);
 
 /* Misc stuff */
-int aceMiscIoPeek (unsigned addr);
-void aceMiscIoPoke (unsigned addr, unsigned char val);
+int __cdecl__ aceMiscIoPeek (unsigned addr);
+void __cdecl__ aceMiscIoPoke (unsigned addr, unsigned char val);