Les unités de Pure Pascal (langage Pascal pour les ordinateurs de la gamme Atari ST), compatible Turbo Pascal.
Unité TOS : Fonction Dcntl
Cette page a été ajoutée au document HLP Atari d'Origine, car manquante
Fonction Gemdos 304
Note du webmaster : dans Pure Pascal, les constantes de la variable cmd décrits dans les tableaux ne sont pas définis!
Déclaration function Dcntl( cmd : Integer; name : String; arg : LongInt ) : LongInt;
Description La fonction Dcntl exécute la commande cmd sur le fichier ou le répertoire name. Les détails dépendent du système de fichiers auquel name fait référence. La signification du paramètre arg dépend elle-même de cmd.
Normalement, l'appel Dcntl est pris en charge par les systèmes de fichiers U:\\ et U:\DEV.
Le système de fichiers unifié U:\ connaît les commandes suivantes :
| Commande | Description |
|---|
| FS_INSTALL (0xf001) | Installe un nouveau système de fichiers
- nom : Doit être U:\
- arg : Pointeur vers la structure Fs_Descr
|
| FS_MOUNT (0xf002) | Monte un système de fichiers existant dans le système unifié U:\
- nom : Nom d'accès au système de fichiers
- arg : Pointeur vers la structure fs_descr
|
| FS_UNMOUNT (0xf003) | Démonte un système de fichiers installé par FS_MOUNT
- nom : Nom sous lequel le système de fichiers a été monté
- arg : Pointeur vers la structure fs_descr
|
| FS_UNINSTALL (0xf004) | Supprime complètement un système de fichiers du noyau. Cette commande n'est autorisée que s'il n'existe plus de références au système de fichiers, par exemple si les montages ont été révoqués.
- name: U:\\
- arg: Pointeur vers la structure fs_descr
|
| FUTIME (0x4603) | Complément de la fonction Fcntl du même nom. Elle est prise en charge par MiNT et DOS-XFS dans MagiC. Un pointeur vers une structure mutimbuf est passé en paramètre. |
| KER_GETINFO (0x0100) | Obtient un pointeur vers les fonctions noyau de MagiC. Les paramètres name et arg doivent être NULL. Le retour est un pointeur vers une structure MX_KERNEL. (*)
Depuis MagiC 6 : MX_KER_GETINFO (0x6d00) (1) |
| KER_DOSLIMITS (0x0101) | Invite le noyau de MagiC à obtenir les limites des systèmes de fichiers FAT. Les paramètres name et arg doivent être NULL. Le retour est un pointeur vers une structure MX_DOSLIMITS. Il est donc possible de rediriger cette fonction vers sa propre structure si un nouveau pilote est installé. Cet opcode est normalement utilisé uniquement par les pilotes de disque dur (tels que HDDRIVER). (*)
Depuis MagiC 6 : MX_KER_DOSLIMITS (0x6d01) (1) |
| KER_INTMAVAIL (0x102) | |
| KER_INTGARBC (0x103) | Ces fonctions existent dans les versions de MagiC antérieures à la version 4.01 et sont converties en appels Sconfig afin d'éviter les conflits avec les pilotes présentant des problèmes avec des opcodes inconnus (*). |
| KER_DRVSTAT (0x0104) | Obtient des informations simples sur un lecteur. Les conditions suivantes s'appliquent :
- nom : Ignoré
- arg : Pointeur vers deux int16_t.
Le premier int16_t doit contenir une valeur NULL ; le second écrira un numéro de lecteur compris entre 0 et 25 (A à Z). Les valeurs de retour possibles pour cet opcode sont :
Une valeur de 0 ou > 0 indique que le lecteur est actuellement monté ou non. Cet opcode est disponible uniquement à partir de la version MagiC du 09/09/1995 (*).
À partir de MagiC 6 : MX_KER_DRVSTAT (0x6d04) (1) |
| KER_XFSNAME (0x0105) | Obtient le nom du pilote responsable d'un répertoire donné.
- name : Chemin d'accès (et non nom de fichier !)
- arg : Pointeur vers un tampon d'au moins 9 caractères, qui doit se trouver à une adresse paire.
Une valeur de retour < 0 indique l'absence d'erreur ; sinon, le nom du pilote sera stocké dans le tampon spécifié. Actuellement, les noms de pilotes suivants sont connus :
- (a) « DOS_XFS » : Ancien DOS-XFS
- (b) « VDOS_XFS » : DOS-XFS avec VFAT
- (c) « MMAC_HFS » : MagiCMac-HFS
Cet opcode est uniquement disponible à partir de la version MagiC du 15/06/1996 (*).
À partir de MagiC 6 : MX_KER_XFSNAME (0x6d05) (1) |
| KER_INSTXFS (0x0200) | Invite le noyau de MagiC à installer un XFS (*)
- name : Pointeur NULL
- arg : Pilote à installer
À partir de MagiC 6 : MX_KER_INSTXFS (0x6d02) (1) |
| KER_SETWBACK (0x0300) | Invite le noyau de MagiC à configurer le WriteBack. Depuis la version 4.01 de MagiC, cet opcode a été converti en appel Sconfig afin d'éviter les conflits avec les pilotes présentant des problèmes avec des opcodes inconnus (*). |
| DFS_GETINFO (0x1100) | Obtient un pointeur vers les fonctions DOS_XFS de MagiC. Les paramètres name et arg doivent avoir des valeurs NULL. Le retour est un pointeur vers une structure ???. (*)
Depuis MagiC 6 : MX_DFS_GETINFO (0x6d40) (1) |
| DFS_INSTDFS (0x1200) | Installe un DFS sous MagiC (*).
- name : pointeur NULL
- arg : pilote à installer
|
| CDROMEJECT (0x4309) | Prend en charge l'éjection du support.
|
| VFAT_CNFDFLN (0x5600) | Configure un système de fichiers VFAT.
- name : U:\\
- arg : Vecteur de bits déterminant les lecteurs acceptant les noms de fichiers longs.
Ce paramètre n'est actif qu'au montage d'un système de fichiers ; les systèmes de fichiers déjà montés ne sont donc pas affectés. Cet opcode est disponible uniquement à partir de la version MagiC du 02/01/96. (*). |
| VFAT_CNFLN (0x5601) | Permet de configurer un système de fichiers VFAT. Plus précisément, il détermine si un lecteur monté prend en charge les noms de fichiers longs. Cet opcode permet de remplacer la valeur par défaut définie par VFAT_CNFDFLN. Pour que la modification soit visible par l'utilisateur, un message SH_WDRAW doit être envoyé au shell système. Cet opcode n'est disponible qu'à partir de la version MagiC du 02.01.96 (*). |
| PROC_CREATE (0xcc00) | Cette fonction est réservée à MagiC pour une utilisation ultérieure (*). Elle n'est plus utilisée depuis MagiC 6. |
Le système de fichiers U:\DEV connaît les commandes suivantes :
| Commande | Description |
|---|
| DEV_INSTALL (0xde02) | Installe un nouveau pilote pour un périphérique.
- name : Chemin d'accès complet du pilote
- arg : Pointeur vers la structure dev_descr
Le périphérique ainsi installé est accessible uniquement via des opérations GEMDOS. |
| DEV_M_INSTALL (0xcd00) | Correspond à DEV_INSTALL et doit être utilisé dans MagiC en raison de l'incompatibilité du format du pilote avec MultiTOS. (*)
- name : Chemin d'accès complet du pilote
- arg : Pointeur vers la structure MX_DDEV
À partir de MagiC 6 : MX_DEV_INSTALL (0x6d20) (1) |
| DEV_NEWTTY (0xde00) | Installe les pilotes pour un nouveau terminal BIOS
- name : Nom du terminal (sous la forme « U:\DEV\DEVNAME »)
- arg : Numéro de périphérique BIOS du terminal
Le BIOS doit avoir été informé de l'existence du périphérique via Bconmap, sinon toute tentative d'accès au périphérique sera sanctionnée par -15 (EUNDEV). |
| DEV_NEWBIOS (0xde01) | Installe un pilote pour un nouveau périphérique BIOS non terminal (périphériques dont les données doivent être transmises brutes, (tels que les périphériques SCSI).
- name : Nom complet du périphérique
- arg : Numéro du périphérique BIOS associé
Le BIOS doit avoir été informé de l'existence du périphérique via Bconmap, sinon toute tentative d'accès au périphérique sera sanctionnée par -15 (EUNDEV). |
Remarque : Les opcodes marqués d'un astérisque (*) sont disponibles uniquement sous MagiC, les autres uniquement sous MiNT ou MultiTOS. Exceptions : Les opcodes FUTIME et CDROMEJECT sont disponibles sous MiNT/MultiTOS et sous MagiC.
(1) : Malheureusement, des collisions sont survenues entre MagiC et Minix-XFS pour MiNT. Par conséquent, MagiC, à partir de la version 6, contient de nouveaux codes, bien que les anciens soient toujours pris en charge. Les nouveaux codes ont 0x6d dans le mot supérieur ; cet identifiant est réservé à MagiC.
Résultat : La valeur de retour dépend de l'opération souhaitée et du système de fichiers sous-jacent. Avec une valeur >= 0, tout a réussi. La valeur de DEV_INSTALL constitue une exception : elle pointe vers une structure d'information du noyau ou a la valeur 0.
En cas d'opcode invalide, -32 (EINVFN) sera renvoyé.
Disponibilité : Disponible lorsqu'un cookie « MiNT » avec une version d'au moins 0.90 existe, et MagiC à partir de la version 3.0.
Références croisées Fcntl
|
Vous trouverez dans cette zone la liste de toutes les Unités (équivalent des "Librairies" en C) de Pure Pascal. Les Unités indiqués comme standards existent dans la majorité des compilateurs Pascal existant sur ordinateurs 16 bits et au dela (dont Turbo Pascal 3 mini). Les unités indiqués comme Atari sont spécifiques aux systèmes d'exploitation des Atari ST (TOS n.n).
Accès aux unités
Les menus déroulants de chaque unité sont des accès directs aux procédures et fonctions, classés alphabétiquement (sans tenir compte de la casse, puisque le langage Pascal ne tient pas compte de la casse!)
Cette page Unités est issu du fichier UNIT.HLP de la documentation de Pure Pascal (d'Application Systems Heidelberg), qui a été convertie en format TXT puis traduite de l'Allemand grâce à Google Translator : des milliers de copier/coller de et vers Google translator ont été nécessaires, ne connaissant pas un mot d'Allemand!
Les unités CRT, DOS, Graph, Overlay, Printer et System sont standard à TOUS les compilateurs Pascal compatible avec Turbo Pascal 5. L'unité String a été introduit avec Turbo Pascal 7 (Et Pure Pascal 1.1) et permet de manipuler les chaines de caractères de type langage C. Les Unités GEM (VDI et AES) et TOS (BIOS, GEMDOS et XBIOS) sont spécifiques au système Atari ST et contiennent parfois des fonctions équivalentes à certaines fonctions des Unités générales (notamment BIOS). Les fonction XBIOS sont des fonctions permettant de tirer pleinement partie du matériel spécifique Atari, notamment Falcon (Audio, DSP, Blitter, Résolutions étendues etc)