
EN: rebol.com -
rebol.org -
rebol.net -
FR: Rebol Documentation Project -
forum RebelBB -
rebol-france.org -
forum codeur -
Retourne les modes de configuration pour un port.
get-modes target modes
target - La cible en l’argument. (type: file! url! block! port!)
modes - Le mode argument. (type: word! block!)
Cette fonction retourne un bloc de modes spéciaux pour un fichier ou un port réseau. GET-MODES prend un port et un bloc de modes qui sont requis. Il retourne un bloc de noms de mode et leurs valeurs (lesquelles peuvent être retransmises à SET-MODES).
port: open/binary %test-file probe get-modes port [direct binary] [direct: false binary: true]
L’exemple suivant montre le port qui est ouvert pour un accès binaire mais pas pour un accès direct.
Un raccourci pour interroger un mode unique est de spécifier un mode simple pour un mot comme l’argument :
probe get-modes port 'binary true
Dans ce cas GET-MODES retourne uniquement la valeur directement, plutôt qu’un bloc.
Une autre forme de GET-MODES prend un nom de valeur bloc qui est du même format comme SET-MODES.
probe get-modes port [direct: none binary: none] [direct: false binary: true]
Ici les valeurs spécifiées sont ignorées.
GET-MODES supporte quelques modes spéciaux qui retournent une liste des modes applicables pour un port. Ce sont : file-modes, copy-modes, network-modes, et port-modes. Si chacun de ces modes est spécifié dans une requête GET-MODES alors la réponse contient un bloc de mode equivalents qui sont disponible pour le système d’exploitation (ils sont différents suivant les systèmes d’exploitation).
probe get-modes port 'file-modes [creation-date access-date modification-date owner-write archived h idden system]
Vous pouvez actuellement utiliser la valeur retournée pour à obtenir la valeur de tous les modes disponibles:
modes: get-modes port 'file-modes probe get-modes port modes [creation-date: 8-Mar-2004/23:35:40-8:00 access-date: 8-Mar-2004/0: 00-8:00 modification-date: 8-Mar-2004/23:35:42-8:00 owner-write: true ar chived: true hidden: false system: false]
Soyez certains de fermer le port quand vous avez fini le traitement de toutes les requêtes et changements :
close port
La liste complète de tous les modes inclus (notez que tous les modes sont supportés par tous les systèmes d’exploitation). Voir les notes additionnelles de REBOL/Code 2.5 pour plus d’informations) :
file-modes: [ status-change-date modification-date access-date backup-date creation-date owner-name group-name owner-id group-id owner-read owner-write owner-delete owner-execute group-read group-write group-delete group-execute world-read world-write world-delete world-execute comment script archived system hidden hold pure type creator ] Port-modes: [ read write binary lines no-wait direct ] Network-modes: [ broadcast multicast-groups type-of-service keep-alive receive-buffer-size send-buffer-size multicast-interface multicast-ttl multicast-loopback no-delay interfaces ]
Par exemple, pour obtenir une liste des interfaces réseaux pour votre ordinateur:
port: open tcp://:10000 probe get-modes port 'interfaces close port [ make object! [ name: "if16777219" addr: 10.10.10.95 netmask: 255.255.255.0 broadcast: 10.10.10.255 dest-addr: none flags: [broadcast multicast] ] make object! [ name: "lo0" addr: 127.0.0.1 netmask: 255.0.0.0 broadcast: none dest-addr: none flags: [multicast loopback] ]]
Voir les notes additionnelles de REBOL/Core pour une description complète de GET-MODES et SET-MODES.
open - Ouvre un nouveau port de connexion.
read - Lit les données d’un fichier, d’une url, ou d’un port-spec (bloc ou objet).
set-modes - Change un mode de configuration pour un port.
write - Ecrit dans un fichier, une url, ou un port-spec (bloc ou objet).