SET ATTRIBUTES
From Atariki
Przeznaczenie: Funkcja DOS-u pozwalająca programowi na ustawianie lub kasowanie atrybutów wskazanego pliku lub katalogu.
Dostępność: SpartaDOS X
Składnia BASIC-a: XIO 49,#iocb,x1,x2,"Dn:filename.ext"
Kod w asemblerze:
ldx #iocb*16 lda #49 sta iccmd,x lda #<fname sta icbufa,x lda #>fname sta icbufa+1,x lda #x1 sta icax1,x lda #x2 sta icax2,x jsr jciomain
gdzie:
- iocb - numer kanału IOCB z zakresu od 1 do 7. Kanał musi być zamknięty w chwili wywołania.
- n - numer stacji dysków (brak oznacza stację bieżącą)
- fname - adres specyfikacji pliku. Całość ciągu znaków trzeba zakończyć znakiem EOL (ASCII $9B).
- x1 - wybór atrybutów do zmiany oraz sposobu ich ustawienia ($00 = nic nie zmieniaj):
Zabezpieczenie (LOCK): +1 Odbezpieczenie (UNLOCK): +16 Ukrycie (HIDE): +2 Ujawnienie (UNHIDE): +32 Archiwalny (ARCHIVED): +4 Niearchiwalny (NOT ARCHIVED): +64
- x2 - wybór atrybutów, jakie ma mieć plik podlegający zmianie ($00 = wszystkie pliki):
Zabezpieczone (LOCKED): +1 Odbezpieczone (UNLOCKED): +16 Ukryte (HIDDEN): +2 Ujawnione (UNHIDDEN): +32 Archiwalne (ARCHIVED): +4 Niearchiwalne (NOT ARCHIVED): +64
Uwagi:
- atrybutu S (SUBDIRECTORY) nie można w ten sposób zmienić
- w przypadku gdy jedynym zmienianym atrybutem jest stan zabezpieczenia pliku, lepiej użyć funkcji LOCK FILE i UNLOCK FILE, gdyż są zgodne z wszystkimi DOS-ami.
Zwracana wartość: Procedura zwraca w rejestrze Y ujemny kod błędu albo wartość $01 w przypadku powodzenia, oraz odpowiednio do tego ustawia znacznik N rejestru znaczników.