Trap 1 Open File

Help Contents Traps - die System-Schnittstelle Trap 1 Open File
Traps - die System-Schnittstelle Trap 2 Close File

Trap 1 Open File

Hiermit ist es möglich, eine Datei (auf der Platte/Diskette) zum Lesen oder Beschreiben zu öffnen. Offene Dateien werden bei einem Zurücksetzen des DLX-Prozessors oder dem Beenden von WINDLX automatisch geschlossen.

Parameter:

1. Dateiname: Adresse eines mit 0 terminierten Strings, der den Pfadnamen der zu öffnenden Datei beinhaltet.

2. Art, wie diese Datei zu öffnen ist. Folgende Werte können hier mit logischem ODER verknüpft angegeben werden:

0x0001		O_RDONLY	(nur Lesen)
0x0002		O_WRONLY	(nur Schreiben)
0x0004		O_RDWR	(Lesen und Schreiben)
0x0100		O_CREATE	(Datei neu erzeugen)
0x0200		O_TRUNC	(Datei öffnen und dabei löschen)
0x0400		O_EXCL	(Datei exklusiv öffnen (mit SHARE))
0x0800		O_APPEND	(An bestehende Datei anfügen)
0x4000		O_TEXT	(Übersetzung von CR/LF durchführen)
0x8000		O_BINARY	(Keine CR/LF-Übersetzung durchführen)

(ACHTUNG: Diese Flags sind von MS-DOS so vorgegeben und sind nicht gleich mit denen vom UNIX-open-Systemcall und damit auch nicht mit denen von DLXSIM!)

3. Zusätzliche Flags, die ebenfalls ODER-verknüpft werden können:

0x0000		S_IFREG	(Normale Datei, kein Directory etc.)
0x0100		S_IREAD	(Leseberechtigung vergeben)
0x0080		S_IWRITE	(Schreibberechtigung vergeben)
0x0040		S_IEXEC	(Ausführungserlaubnis für Programme)

(ACHTUNG: Diese Flags sind von MS-DOS so vorgegeben und sind nicht gleich mit denen vom UNIX-open-Systemcall und damit auch nicht mit denen von DLXSIM!)

(Näheres siehe C-Bibliotheksfunktionen.)

In R1 wird der Filedescriptor, wenn die Datei geöffnet werden konnte, oder eine negative Zahl im Fehlerfall zurückgeliefert.

Beispiel:

.data

FileName:	.asciiz	"c:\\BSP\\DATEI.DAT"
	.align	2
Par:	;*** Parameter für Trap1 (OPEN)
	.word	FileName
	;create for R/W:
	.word	0x0104
	;R/W-access-permission:
	.word	0x0180
FileDescr:	.space	4

	.text
	lhi	r14,Par>>16		; Obere 16-Bit
	addui	r14,r14,Par&0xffff	; Untere 16-Bit
	trap	1
	sw	FileDescr,R1

Example:

Reference:

Traps - die System-Schnittstelle Trap 2 Close File