fp_open Kernel Service per i dispositivi DLC (Data Link Control)

Finalità

Consente al kernel di aprire il gestore del dispositivo GDLC (generic data link control) dal suo nome dispositivo.

Sintassi

#include <sys/gdlextcb.h>
#include <fcntl.h>
fp_open (path, oflags, cmode, ext, segflag, fpp)

Parametri

Elemento Descrizione
percorso Consiste in una stringa di caratteri contenente il nome del file speciale /dev del gestore di dispositivi GDLC, con l'aggiunta del nome del gestore del dispositivo di comunicazione. Il formato viene mostrato nel seguente esempio:
/dev/dlcether/ent0
obandiere Specifica un valore per impostare l'indicatore di stato del file. Il gestore del dispositivo GDLC ignora tutti ma i seguenti valori:
O_RDWR
Aperto per la lettura e la scrittura. Questo deve essere impostato per GDLC o l'apertura non avrà successo.
O_NDELAY, O_NONBLOCK
Le scritture successive restituiscono immediatamente se non sono disponibili risorse. Il processo di chiamata non è messo a dormire.
cmode Specifica il parametro della modalità O_CREAT. Questo viene ignorato da GDLC.
ext Specifica il parametro di servizio del kernel esteso. È un puntatore alla struttura I/O estesa dlc_open_ext per le subroutine aperte. L'argomento per questo parametro deve essere nello spazio del kernel.
segflag Specifica il flag di segmento che indica dove si trova il parametro percorso :
FP_SYS
Il parametro percorso viene memorizzato nella memoria del kernel.
FP_USR
Il parametro percorso viene memorizzato nella memoria delle applicazioni.
fpp Specifica il puntatore del file restituito. Questo parametro viene passato come riferimento e aggiornato dal sottosistema di I/O del file come puntatore al file per questa subroutine aperta.

Descrizione

Il servizio del kernel fp_open consente all'utente del kernel di aprire un gestore di dispositivi GDLC specificando i nomi speciali dei file del DLC e del gestore di dispositivi di comunicazione. Dal momento che il gestore del dispositivo GDLC è multiplex, più di un processo può aprirlo (o lo stesso processo più volte) e avere ancora identificazioni di canale uniche.

Ogni apertura trasporta il nome di file speciale del gestore delle comunicazioni in modo che il DLC sappia quale porta trasferire i dati.

L'utente del kernel deve inoltre fornire indirizzi di ingresso funzionali al fine di ottenere dati di ricezione e condizioni di eccezione. Ogni GDLC supporta il servizio del kernel fp_open tramite il suo punto di ingresso dlcopen. Il servizio del kernel fp_open può essere chiamato solo dall'ambiente del processo. "Utilizzo dei servizi speciali del kernel GDLC" in Concetti di programmazione delle comunicazioniAIX® versione 6.1 fornisce ulteriori informazioni.

Valori di ritorno

Al completamento di successo, questo servizio restituisce un valore di 0 e un puntatore di file valido nel parametro fpp .

Elemento Descrizione
ECHILD Indica che il servizio non può creare un processo kernel.
EINVALLO Indica un valore non valido.
ENODEV Indica che non è presente alcun gestore del dispositivo.
ENOMEM Indica risorse insufficienti per soddisfare l'apertura.
EFAULT Indica che il servizio del kernel, come il servizio copyin o initp , è fallito.

Questi valori di ritorno sono definiti nel file /usr/include/sys/errno.h.