<sect1><tt/apple2.h/<label id="apple2.h"><p>
<itemize>
+<item>_dos_type
<item><ref id="get_ostype" name="get_ostype">
+<item>rebootafterexit
</itemize>
<sect1><tt/apple2enh.h/<label id="apple2enh.h"><p>
-(incomplete)
+<itemize>
+<item>_dos_type
+<item><ref id="get_ostype" name="get_ostype">
+<item>rebootafterexit
+<item>textframe
+<item>textframexy
+<item><ref id="videomode" name="videomode">
+</itemize>
<sect1><tt/assert.h/<label id="assert.h"><p>
<itemize>
<item><ref id="c64mode" name="c64mode">
<item><ref id="fast" name="fast">
-<item><ref id="toggle_videomode" name="toggle_videomode">
<item><ref id="slow" name="slow">
+<item><ref id="toggle_videomode" name="toggle_videomode">
+<item><ref id="videomode" name="videomode">
</itemize>
<item><ref id="mouse_uninstall" name="mouse_uninstall">
<item><ref id="mouse_hide" name="mouse_hide">
<item><ref id="mouse_show" name="mouse_show">
-<item><ref id="mouse_box" name="mouse_box">
+<item><ref id="mouse_setbox" name="mouse_setbox">
+<item><ref id="mouse_getbox" name="mouse_getbox">
<item><ref id="mouse_move" name="mouse_move">
<item><ref id="mouse_buttons" name="mouse_buttons">
<item><ref id="mouse_pos" name="mouse_pos">
<item><ref id="mouse_info" name="mouse_info">
-<!-- <item><ref id="mouse_ioctl" name="mouse_ioctl"> -->
+<item><ref id="mouse_ioctl" name="mouse_ioctl">
</itemize>
(incomplete)
-
+
<sect1><tt/nes.h/<label id="nes.h"><p>
<!-- <item><ref id="fgetpos" name="fgetpos"> -->
<!-- <item><ref id="fgets" name="fgets"> -->
<item><ref id="fileno" name="fileno">
-<!-- <item><ref id="flushall" name="flushall"> -->
<!-- <item><ref id="fopen" name="fopen"> -->
<!-- <item><ref id="fprintf" name="fprintf"> -->
<!-- <item><ref id="fputc" name="fputc"> -->
<!-- <item><ref id="putc" name="putc"> -->
<!-- <item><ref id="putchar" name="putchar"> -->
<!-- <item><ref id="puts" name="puts"> -->
-<!-- <item><ref id="rename" name="rename"> -->
+<item><ref id="rename" name="rename">
+<item><ref id="remove" name="remove">
<!-- <item><ref id="rewind" name="rewind"> -->
<!-- <item><ref id="scanf" name="scanf"> -->
<!-- <item><ref id="sprintf" name="sprintf"> -->
<item><ref id="qsort" name="qsort">
<item><ref id="rand" name="rand">
<item><ref id="realloc" name="realloc">
-<item><ref id="remove" name="remove">
<item><ref id="srand" name="srand">
<item><ref id="ultoa" name="ultoa">
<item><ref id="utoa" name="utoa">
<item><ref id="strspn" name="strspn">
<item><ref id="strstr" name="strstr">
<item><ref id="strtok" name="strtok">
-<!-- <item><ref id="strxfrm" name="strxfrm"> -->
+<item><ref id="strxfrm" name="strxfrm">
<item><ref id="strupper" name="strupper">
<item><ref id="strupr" name="strupr">
</itemize>
<tag/Header/<tt/<ref id="6502.h" name="6502.h">/
<tag/Declaration/<tt/void CLI (void);/
<tag/Description/The function will insert a 6502 CLI instruction into the code,
-so interrupts are disabled. Note that non maskable interrupts cannot be
-disabled.
+so interrupts are enabled. Enabling interrupts has no effects if they are
+already enabled (the default).
<tag/Limits/<itemize>
<item>The function is actually a macro.
<item>Disabling interrupts may lead to unexpected results.
<tag/Header/<tt/<ref id="6502.h" name="6502.h">/
<tag/Declaration/<tt/void SEI (void);/
<tag/Description/The function will insert a 6502 SEI instruction into the code,
-so interrupts are enabled. Enabling interrupts has no effects if they are
-already enabled (the default).
+so interrupts are disabled. Note that non maskable interrupts cannot be
+disabled.
<tag/Limits/<itemize>
<item>The function is actually a macro.
+<item>Disabling interrupts may lead to unexpected results.
</itemize>
<tag/Availability/cc65
<tag/See also/
memory and returns a pointer to the page frame. Depending on the hardware
and driver, the data is either mapped into the address space or transfered
into a buffer. If you don't need the actual contents of the page (for example
-because you're going to overwrite it completely, it is better to call
+because you're going to overwrite it completely), it is better to call
<tt/<ref id="em_use" name="em_use">/ instead. <tt/em_use/ will not transfer the
data if it is possible to avoid that.
<tag/Limits/<itemize>
<tag/Availability/C128
<tag/See also/
<ref id="slow" name="slow">,
-<ref id="toggle_videomode" name="toggle_videomode">
+<ref id="toggle_videomode" name="toggle_videomode">,
+<ref id="videomode" name="videomode">
<tag/Example/None.
</descrip>
</quote>
</quote>
-<sect1>mouse_box<label id="mouse_box"><p>
+<sect1>mouse_setbox<label id="mouse_setbox"><p>
<quote>
<descrip>
<tag/Function/Specify a bounding box for the mouse cursor.
<tag/Header/<tt/<ref id="mouse.h" name="mouse.h">/
-<tag/Declaration/<tt/void __fastcall__ mouse_box (int minx, int miny,
-int maxx, int maxy);/
+<tag/Declaration/<tt/void __fastcall__ mouse_setbox (const struct mouse_box* box);/
<tag/Description/The function allows to set a bounding box for mouse movement.
<tag/Limits/<itemize>
<item>The function does not check if the mouse cursor is currently within the
</itemize>
<tag/Availability/cc65
<tag/See also/
+<ref id="mouse_getbox" name="mouse_getbox">,
<ref id="mouse_move" name="mouse_move">
<tag/Example/None.
</descrip>
</quote>
+<sect1>mouse_getbox<label id="mouse_getbox"><p>
+
+<quote>
+<descrip>
+<tag/Function/Return the current bounding box for the mouse cursor.
+<tag/Header/<tt/<ref id="mouse.h" name="mouse.h">/
+<tag/Declaration/<tt/void __fastcall__ mouse_getbox (struct mouse_box* box);/
+<tag/Description/The function queries the current bounding box for mouse
+movement.
+<tag/Limits/<itemize>
+<item>The function is only available as fastcall function, so it may only be
+used in presence of a prototype.
+</itemize>
+<tag/Availability/cc65
+<tag/See also/
+<ref id="mouse_move" name="mouse_move">,
+<ref id="mouse_setbox" name="mouse_setbox">
+<tag/Example/None.
+</descrip>
+</quote>
+
+
<sect1>mouse_buttons<label id="mouse_buttons"><p>
<quote>
</quote>
+<sect1>mouse_ioctl<label id="mouse_ioctl"><p>
+
+<quote>
+<descrip>
+<tag/Function/Call the driver specific ioctl function.
+<tag/Header/<tt/<ref id="mouse.h" name="mouse.h">/
+<tag/Declaration/<tt/unsigned char __fastcall__ mouse_ioctl (unsigned char code, void* data);/
+<tag/Description/The function calls the IOCTL entry in the mouse driver,
+which is driver specific. The <tt/code/ parameter will choose between
+different IOCTL functions, and the <tt/data/ depends on code. The
+function returns an error code. The purpose of this function is to allow
+for driver specific extensions. See the documentation for a specific mouse
+driver for supported ioctl calls.
+<tag/Limits/<itemize>
+<item>Calling this function is non portable, because each driver may
+implement different ioctl calls (or none at all).
+<item>The function is only available as fastcall function, so it may only be
+used in presence of a prototype.
+</itemize>
+<tag/Availability/cc65
+<tag/Example/None.
+</descrip>
+</quote>
+
+
<sect1>mouse_load_driver<label id="mouse_load_driver"><p>
<quote>
is visible, it is shown at the new position.
<tag/Limits/<itemize>
<item>The function does not check if the new position is within the bounding
-box specified with <tt/<ref id="mouse_box" name="mouse_box">/.
+box specified with <tt/<ref id="mouse_setbox" name="mouse_setbox">/.
<item>The function is only available as fastcall function, so it may only be
used in presence of a prototype.
</itemize>
<tag/Availability/cc65
<tag/See also/
-<ref id="mouse_box" name="mouse_box">
+<ref id="mouse_getbox" name="mouse_getbox">,
+<ref id="mouse_setbox" name="mouse_setbox">
<tag/Example/None.
</descrip>
</quote>
</itemize>
<tag/Availability/ISO 9899
<tag/See also/
+<ref id="rename" name="rename">,
<ref id="unlink" name="unlink">
<tag/Example/
+<verb>
#include <stdio.h>
#define FILENAME "helloworld"
} else {
printf ("There was a problem deleting %s\n", FILENAME);
}
+</verb>
+</descrip>
+</quote>
+
+
+<sect1>rename<label id="rename"><p>
+
+<quote>
+<descrip>
+<tag/Function/Rename a file.
+<tag/Header/<tt/<ref id="stdio.h" name="stdio.h">/
+<tag/Declaration/<tt/int __fastcall__ rename (const char* oldname, const char* newname);/
+<tag/Description/<tt/rename/ renames a file (gives it a new name). On success,
+zero is returned. On error, -1 is returned and <tt/errno/ is set to an error
+code describing the reason for the failure.
+<tag/Limits/
+<itemize>
+<item>This function is not available on all cc65 targets (depends on the
+capabilities of the storage devices).
+<item>The function is only available as fastcall function, so it may only
+be used in presence of a prototype.
+</itemize>
+<tag/Availability/ISO 9899
+<tag/See also/
+<ref id="remove" name="remove">
+<tag/Example/
+<verb>
+#include <stdio.h>
+
+#define OLDNAME "textfile.txt"
+#define NEWNAME "textfile.bak"
+
+if (rename (OLDNAME, NEWNAME) == 0) {
+ printf ("Renamed %s to %s\n", OLDNAME, NEWNAME);
+} else {
+ printf ("Error renaming %s to %s\n", OLDNAME, NEWNAME);
+}
+</verb>
</descrip>
</quote>
<tag/See also/
<ref id="localeconv" name="localeconv">,
<ref id="strcoll" name="strcoll">
+<ref id="strxfrm" name="strxfrm">
<tag/Example/None.
</descrip>
</quote>
<tag/Availability/C128
<tag/See also/
<ref id="fast" name="fast">,
-<ref id="toggle_videomode" name="toggle_videomode">
+<ref id="toggle_videomode" name="toggle_videomode">,
+<ref id="videomode" name="videomode">
<tag/Example/None.
</descrip>
</quote>
<ref id="strcoll" name="strcoll">,
<ref id="stricmp" name="stricmp">,
<ref id="strncmp" name="strncmp">
+<ref id="strxfrm" name="strxfrm">
<tag/Example/None.
</descrip>
</quote>
<ref id="strcoll" name="strcoll">,
<ref id="stricmp" name="stricmp">,
<ref id="strncmp" name="strncmp">
+<ref id="strxfrm" name="strxfrm">
<tag/Example/None.
</descrip>
</quote>
<ref id="strcmp" name="strcmp">,
<ref id="stricmp" name="stricmp">,
<ref id="strncmp" name="strncmp">
+<ref id="strxfrm" name="strxfrm">
<tag/Example/None.
</descrip>
</quote>
<ref id="strcmp" name="strcmp">,
<ref id="strcoll" name="strcoll">,
<ref id="strncmp" name="strncmp">
+<ref id="strxfrm" name="strxfrm">
<tag/Example/None.
</descrip>
</quote>
<ref id="strcmp" name="strcmp">,
<ref id="strcoll" name="strcoll">,
<ref id="stricmp" name="stricmp">
+<ref id="strxfrm" name="strxfrm">
<tag/Example/None.
</descrip>
</quote>
</quote>
+<sect1>strxfrm<label id="strxfrm"><p>
+
+<quote>
+<descrip>
+<tag/Function/Transform a string.
+<tag/Header/<tt/<ref id="string.h" name="string.h">/
+<tag/Declaration/<tt/size_t __fastcall__ strxfrm (char* s1, const char* s2, size_t n);/
+<tag/Description/The <tt/strxfrm/ function transforms the string pointed to by
+s2 and places the resulting string into the string pointed to by s1. The
+transformation is such that if the <tt/strcmp/ function is applied to two
+transformed strings, it returns a value greater than, equal to, or less than
+zero, corresponding to the result of the <tt/strcoll/ function applied to the
+same two original strings. No more than n characters are placed into the
+resulting array pointed to by s1, including the terminating null character.
+<tag/Limits/<itemize>
+<item><tt/s1/ and <tt/s2/ must not point to the same memory area, otherwise
+the behaviour is undefined.
+<item>If <tt/n/ is zero, <tt/s1/ may be a NULL pointer.
+<item>The function is only available as fastcall function, so it may only
+be used in presence of a prototype.
+<item>Since cc65 doesn't support different charcter sets, <tt/strxfrm/ will
+just copy s2 to s1 using <tt><ref id="strncpy" name="strncpy"></tt>.
+</itemize>
+<tag/Availability/ISO 9899
+<tag/See also/
+<ref id="strcmp" name="strcmp">,
+<ref id="strcoll" name="strcoll">,
+<ref id="strncpy" name="strncpy">,
+<tag/Example/None.
+</descrip>
+</quote>
+
+
<sect1>strupper<label id="strupper"><p>
<quote>
with the mode.
<tag/Limits/<itemize>
<item>The function is specific to the C128.
+<item>This function is deprecated. Please use <ref id="videomode"
+name="videomode"> instead!
</itemize>
<tag/Availability/C128
<tag/See also/
<ref id="fast" name="fast">,
-<ref id="slow" name="slow">
+<ref id="slow" name="slow">,
+<ref id="videomode" name="videomode">
<tag/Example/None.
</descrip>
</quote>
<tag/See also/
<ref id="remove" name="remove">
<tag/Example/
+<verb>
#include <stdio.h>
#include <unistd.h>
} else {
printf ("There was a problem deleting %s\n", FILENAME);
}
+</verb>
</descrip>
</quote>
</quote>
+<sect1>videomode<label id="videomode"><p>
+
+<quote>
+<descrip>
+<tag/Function/Switch to either 40 or 80 column mode.
+<tag/Header/<tt/<ref id="apple2enh.h" name="apple2enh.h">,
+<ref id="c128.h" name="c128.h">/
+<tag/Declaration/<tt/unsigned __fastcall__ videomode (unsigned Mode);/
+<tag/Description/Switch to 40 or 80 column mode depending on the argument. If
+the requested mode is already active, nothing happens. The old mode is returned
+from the call.
+<tag/Limits/<itemize>
+<item>The function is specific to the C128 and enhanced Apple //e.
+<item>This function replaces <ref id="toggle_videomode"
+name="toggle_videomode">.
+<item>The function is only available as fastcall function, so it may only be
+used in presence of a prototype.
+</itemize>
+<tag/Availability/C128 and enhanced Apple //e
+<tag/See also/
+<ref id="fast" name="fast">,
+<ref id="slow" name="slow">,
+<ref id="toggle_videomode" name="toggle_videomode">
+<tag/Example/None.
+</descrip>
+</quote>
+
+
<sect1>wherex<label id="wherex"><p>
<quote>
</article>
-
-