InglésFrancésEspañol

icono de página de OnWorks

rpcgen - Online en la nube

Ejecute rpcgen en el proveedor de alojamiento gratuito de OnWorks sobre Ubuntu Online, Fedora Online, emulador en línea de Windows o emulador en línea de MAC OS

Este es el comando rpcgen que se puede ejecutar en el proveedor de alojamiento gratuito de OnWorks utilizando una de nuestras múltiples estaciones de trabajo en línea gratuitas, como Ubuntu Online, Fedora Online, emulador en línea de Windows o emulador en línea de MAC OS.

PROGRAMA:

NOMBRE


rpcgen - un compilador de protocolo RPC

SINOPSIS


rpcgen en archivo
rpcgen [-Dnombre [=propuesta de]] [-T] [-K segundos] en archivo
rpcgen -c | -h | -l | -m | -M | -t [-o archivar ] en archivo
rpcgen [-YO] -s tipo de red [-o archivar] en archivo
rpcgen -n identificación neta [-o archivar] en archivo

DESCRIPCIÓN


rpcgen es una herramienta que genera código C para implementar un protocolo RPC. La entrada a rpcgen
es un lenguaje similar a C conocido como lenguaje RPC (lenguaje de llamada a procedimiento remoto).

rpcgen se usa normalmente como en la primera sinopsis donde toma un archivo de entrada y
genera hasta cuatro archivos de salida. Si el en archivo es nombrado proto.x, entonces rpcgen will
generar un archivo de encabezado en proto.h, Rutinas XDR en proto_xdr.c, stubs del lado del servidor en
proto_svc.cy stubs del lado del cliente en proto_clnt.c. Con el -T opción, también
generar la tabla de despacho de RPC en proto_tbl.i. Con el -SC opción, también
generar código de muestra que ilustraría cómo utilizar los procedimientos remotos en el cliente
lado. Este código se crearía en proto_cliente.c. Con el -S opción, también
generar un código de servidor de muestra que ilustrará cómo escribir los procedimientos remotos.
Este código se crearía en proto_servidor.c.

El servidor creado puede ser iniciado tanto por los monitores de puerto (por ejemplo, inetd or escuchan)
o por sí mismo. Cuando lo inicia un monitor de puerto, crea servidores solo para el
transporte para el cual el descriptor de archivo 0 fue aprobada. El nombre del transporte debe ser
especificado mediante la configuración de la variable ambiental PM_TRANSPORTE. Cuando el servidor
generado por rpcgen se ejecuta, crea identificadores de servidor para todos los transportes
especificado en RUTA DE RED variable de entorno, o si no está configurada, crea identificadores de servidor
para todos los transportes visibles desde / etc / netconfig expediente. Nota: los transportes se eligen
en tiempo de ejecución y no en tiempo de compilación.

Cuando se construye para un monitor de puerto (rpcgen -I), y que el servidor se inicia automáticamente,
fondos en sí de forma predeterminada. Un símbolo de definición especial RPC_SVC_FG se puede utilizar para ejecutar el
proceso del servidor en primer plano.

La segunda sinopsis proporciona características especiales que permiten la creación de más
servidores RPC sofisticados. Estas características incluyen soporte para el usuario proporcionado #define y
Tablas de despacho de RPC. Las entradas de la tabla de despacho de RPC contienen:
· Punteros a la rutina de servicio correspondiente a ese procedimiento,
· Un puntero a los argumentos de entrada y salida
· El tamaño de estas rutinas
Un servidor puede usar la tabla de despacho para verificar la autorización y luego ejecutar el servicio.
rutina; una biblioteca cliente puede utilizarlo para tratar los detalles de la gestión del almacenamiento y
Conversión de datos XDR.

Las otras tres sinopsis que se muestran arriba se utilizan cuando uno no desea generar todos los
archivos de salida, pero solo uno en particular. Algunos ejemplos de su uso se describen en el
Sección EJEMPLO a continuación. Cuando rpcgen se ejecuta con el -s opción, crea servidores para
esa clase particular de transportes. Cuando se ejecuta con el -n opción, crea una
servidor para el transporte especificado por identificación neta. Si en archivo no está especificado, rpcgen acepta
la entrada estándar.

El preprocesador de C, cc -E [ver cc(1)], se ejecuta en el archivo de entrada antes de que sea
interpretado por rpcgen. Para cada tipo de archivo de salida, rpcgen define un especial
símbolo del preprocesador para que lo utilice el rpcgen programador:

RPC_HDR definido al compilar en archivos de encabezado
RPC_XDR definido al compilar en rutinas XDR
RPC_SVC definido al compilar en stubs del lado del servidor
RPC_CLNT definido al compilar en stubs del lado del cliente
RPC_TBL definido al compilar en tablas de despacho RPC

Cualquier línea que comience con '%'se pasa directamente al archivo de salida, sin ser interpretado por
rpcgen.

Para cada tipo de datos mencionado en en archivo, rpcgen asume que existe una rutina con
la cuerda xdr_ antepuesto al nombre del tipo de datos. Si esta rutina no existe en
la biblioteca RPC / XDR, se debe proporcionar. Proporcionar un tipo de datos indefinido permite
personalización de rutinas XDR.

Las siguientes opciones están disponibles:

-a Genere todos los archivos, incluido el código de muestra para el lado del cliente y del servidor.

-b Esto genera código para el estilo SunOS4.1 de rpc. Es para atrás
compatibilidad. Este es el predeterminado.

-5 Esto genera código para el estilo SysVr4 de rpc. Es utilizado por el Transporte
RPC independiente que se encuentra en los sistemas Svr4. De forma predeterminada, rpcgen genera código para
SunOS4.1 tipo de rpc.

-c Compile en rutinas XDR.

-C Generar código en ANSI C. Esta opción también genera código que podría compilarse
con el compilador de C ++. Este es el predeterminado.

-k Genere código en K&R C. El valor predeterminado es ANSI C.

-Dnombre [=propuesta de]
Definir un símbolo nombre . Equivalente al #definir directiva en la fuente. Si no
propuesta de es dado, propuesta de se define como 1. Esta opción puede especificarse más de
una vez.

-h Compilar en C definiciones de datos (un archivo de encabezado). -T La opción se puede utilizar en
conjunción para producir un archivo de encabezado que admita tablas de despacho RPC.

-I Genere un servicio que se pueda iniciar desde inetd. El valor predeterminado es generar un
servicio estático que maneja transportes seleccionados con -s. Utilizando -I permite comenzar
un servicio por cualquier método.

-K segundos
De forma predeterminada, los servicios creados con rpcgen esperar 120 segundos después de dar servicio a un
solicitud antes de salir. Ese intervalo se puede cambiar usando el -K bandera. Crear
un servidor que sale inmediatamente después de atender una solicitud, -K 0 puede ser usado. Para
crear un servidor que nunca salga, el argumento apropiado es -K -1.

Al monitorear un servidor, algunos monitores de puertos, como escuchan(1 millones), always engendrar un
nuevo proceso en respuesta a una solicitud de servicio. Si se sabe que un servidor será
utilizado con un monitor de este tipo, el servidor debe salir inmediatamente al finalizar. Para
tales servidores, rpcgen debe usarse con -K -1.

-l Compile en stubs del lado del cliente.

-m Compile en stubs del lado del servidor, pero no genere una rutina "principal". Esta opción
es útil para realizar rutinas de devolución de llamada y para usuarios que necesitan escribir sus propias
Rutina "principal" para realizar la inicialización.

-M Genere stubs seguros para múltiples subprocesos para pasar argumentos y resultados entre rpcgen-
código generado y código escrito por el usuario. Esta opción es útil para los usuarios que desean
utilizar hilos en su código.

-n identificación neta
Compilar en stubs del lado del servidor para el transporte especificado por identificación neta. Debería
ser una entrada para identificación neta en la base de datos netconfig. Esta opción se puede especificar más
de una vez, para compilar un servidor que sirva para múltiples transportes.

-N Utilice el nuevo estilo de rpcgen. Esto permite que los procedimientos tengan múltiples argumentos. Eso
también utiliza el estilo de paso de parámetros que se parece mucho a C.
pasar un argumento a un procedimiento remoto, no es necesario pasar un puntero al
argumento sino el argumento en sí. Este comportamiento es diferente del estilo antiguo de
código generado por rpcgen. El nuevo estilo no es el caso predeterminado debido al retroceso
compatibilidad.

-o archivar
Especifique el nombre del archivo de salida. Si no se especifica ninguno, se utiliza la salida estándar
(-c, -h, -l, -m, -n, -s, -SC, -Sm, -Sy -t modos solamente).

-s tipo de red
Compilar en stubs del lado del servidor para todos los transportes que pertenecen a la clase
tipo de red. Las clases admitidas son ruta de red, Visible, circuito_n, circuito_v,
datagrama_n, datagrama_v, tcpy udp [ver rpc(3N) para los significados asociados con
estas clases]. Esta opción se puede especificar más de una vez. Nota: los transportes
se eligen en tiempo de ejecución y no en tiempo de compilación.

-SC Genere un código de muestra para mostrar el uso del procedimiento remoto y cómo enlazar al
server antes de llamar a los stubs del lado del cliente generados por rpcgen.

-Sm Genere un archivo Makefile de muestra que se pueda utilizar para compilar la aplicación.

-S Genere código esqueleto para los procedimientos remotos en el lado del servidor. Lo harías
Necesita completar el código real para los procedimientos remotos.

-t Compile en la tabla de despacho de RPC.

-T Genere el código para admitir tablas de distribución de RPC.

Las opciones -c, -h, -l, -m, -s y -t se utilizan exclusivamente para generar un tipo particular
de archivo, mientras que las opciones -D y -T son globales y se pueden utilizar con las otras opciones.

NOTAS


El lenguaje RPC no admite el anidamiento de estructuras. Como solución alternativa, las estructuras pueden
ser declarados en el nivel superior, y su nombre utilizado dentro de otras estructuras con el fin de
lograr el mismo efecto.

Pueden ocurrir conflictos de nombres cuando se utilizan definiciones de programas, ya que el alcance aparente no
realmente aplicar. La mayoría de estos pueden evitarse dando nombres únicos a programas, versiones,
procedimientos y tipos.

El código del servidor generado con -n opción se refiere al transporte indicado por identificación neta y
por lo tanto, es muy específico del sitio.

EJEMPLO


El siguiente ejemplo:

$ rpcgen -T prot.x

genera los cinco archivos: prot.h, prot_clnt.c, prot_svc.c, prot_xdr.c y prot_tbl.i.

El siguiente ejemplo envía las definiciones de datos C (archivo de encabezado) a la salida estándar.

$ rpcgen -h prot.x

Para enviar la versión de prueba del -PRUEBAD, stubs del lado del servidor para todos los transportes pertenecientes
a la clase datagrama_n a salida estándar, utilice:

$ rpcgen -s datagrama_n -PRUEBAD prot.x

Para crear los stubs del lado del servidor para el transporte indicado por identificación neta tcp, Use:

$ rpcgen -n tcp -o prot_svc.c prot.x

Use rpcgen en línea usando los servicios de onworks.net


Servidores y estaciones de trabajo gratuitos

Descargar aplicaciones de Windows y Linux

Comandos de Linux

Ad