Added documentation for setting the file type for fopen.
This commit is contained in:
@@ -511,11 +511,11 @@ url="ca65.html" name="assembler manual">.
|
|||||||
</descrip><p>
|
</descrip><p>
|
||||||
|
|
||||||
|
|
||||||
<sect1>Specifying ProDOS File Types<p>
|
<sect1>Specifying file types for fopen<p>
|
||||||
|
|
||||||
<descrip>
|
<descrip>
|
||||||
|
|
||||||
<tag>Problem Explanation</tag>
|
<tag>Explanation of File Types</tag>
|
||||||
|
|
||||||
ProDOS associates a file type and an auxiliary type with each file.
|
ProDOS associates a file type and an auxiliary type with each file.
|
||||||
These type specifications are separate from the file's name, unlike
|
These type specifications are separate from the file's name, unlike
|
||||||
@@ -531,18 +531,18 @@ url="ca65.html" name="assembler manual">.
|
|||||||
auxiliary type. Therefore, some additional mechanism for specifying
|
auxiliary type. Therefore, some additional mechanism for specifying
|
||||||
the file types is needed.
|
the file types is needed.
|
||||||
|
|
||||||
<tag>Solution</tag>
|
<tag>Specifying the File Type and Auxiliary Type</tag>
|
||||||
|
|
||||||
There are two global variables provided that allow the file type
|
There are two global variables provided that allow the file type
|
||||||
and auxiliary type to be specified before a call to <tt/fopen()/
|
and auxiliary type to be specified before a call to <tt/fopen()/
|
||||||
or <tt/open/. They are defined in <tt/apple2_filetype.h/:
|
or <tt/open/. They are defined in <tt/apple2_filetype.h/:
|
||||||
|
|
||||||
<quote>
|
<tscreen>
|
||||||
<verb>
|
<verb>
|
||||||
extern unsigned char _filetype; /* Default: PRODOS_T_BIN */
|
extern unsigned char _filetype; /* Default: PRODOS_T_BIN */
|
||||||
extern unsigned int _auxtype; /* Default: 0 */
|
extern unsigned int _auxtype; /* Default: 0 */
|
||||||
</verb>
|
</verb>
|
||||||
</quote>
|
</tscreen>
|
||||||
|
|
||||||
The header file <tt/apple2_filetype.h/ also defines many values
|
The header file <tt/apple2_filetype.h/ also defines many values
|
||||||
that can be used to set these variables. It is included in
|
that can be used to set these variables. It is included in
|
||||||
@@ -577,20 +577,25 @@ url="ca65.html" name="assembler manual">.
|
|||||||
<tt/_auxtype/ can also be set to <tt/PRODOS_AUX_T_TXT_SEQ/
|
<tt/_auxtype/ can also be set to <tt/PRODOS_AUX_T_TXT_SEQ/
|
||||||
which is defined as zero.
|
which is defined as zero.
|
||||||
|
|
||||||
<quote>
|
<tscreen>
|
||||||
<verb>
|
<verb>
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
#include <errno.h>
|
#include <errno.h>
|
||||||
#include <apple2.h>
|
#include <apple2.h>
|
||||||
|
|
||||||
void main()
|
void main()
|
||||||
{
|
{
|
||||||
FILE *out;
|
FILE *out;
|
||||||
char *name = "MY.FAVS";
|
char *name = "MY.FAVS";
|
||||||
|
|
||||||
|
/*-----------------------------*/
|
||||||
|
|
||||||
_filetype = PRODOS_T_TXT;
|
_filetype = PRODOS_T_TXT;
|
||||||
_auxtype = PRODOS_AUX_T_TXT_SEQ;
|
_auxtype = PRODOS_AUX_T_TXT_SEQ;
|
||||||
|
|
||||||
|
/*-----------------------------*/
|
||||||
|
|
||||||
if ((out = fopen(name, "w")) != NULL) {
|
if ((out = fopen(name, "w")) != NULL) {
|
||||||
fputs("Jorah Mormont\r", out);
|
fputs("Jorah Mormont\r", out);
|
||||||
fputs("Brienne of Tarth\r", out);
|
fputs("Brienne of Tarth\r", out);
|
||||||
@@ -605,7 +610,7 @@ url="ca65.html" name="assembler manual">.
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
</verb>
|
</verb>
|
||||||
</quote>
|
</tscreen>
|
||||||
|
|
||||||
</descrip><p>
|
</descrip><p>
|
||||||
|
|
||||||
|
|||||||
@@ -517,6 +517,14 @@ url="ca65.html" name="assembler manual">.
|
|||||||
</descrip><p>
|
</descrip><p>
|
||||||
|
|
||||||
|
|
||||||
|
<sect1>Specifying file types for fopen<p>
|
||||||
|
|
||||||
|
See section
|
||||||
|
<url url="apple2.html#ss9.4" name="Specifying file types for fopen">
|
||||||
|
in the apple2 docoumentation.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<sect>License<p>
|
<sect>License<p>
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user