Amazon Best VPN GoSearch

Icône de favori OnWorks

rpcgen - En ligne dans le Cloud

Exécutez rpcgen dans le fournisseur d'hébergement gratuit OnWorks sur Ubuntu Online, Fedora Online, l'émulateur en ligne Windows ou l'émulateur en ligne MAC OS

Il s'agit de la commande rpcgen qui peut être exécutée dans le fournisseur d'hébergement gratuit OnWorks en utilisant l'un de nos multiples postes de travail en ligne gratuits tels que Ubuntu Online, Fedora Online, l'émulateur en ligne Windows ou l'émulateur en ligne MAC OS

PROGRAMME:

Nom


RPCGEN - un compilateur de protocole RPC

SYNOPSIS


RPCGEN dans le fichier
RPCGEN [-RÉprénom[=Plus-value]] [-T] [-K secondes] dans le fichier
RPCGEN -c|-h|-l|-m|-M|-t [-ou fichier de sortie ] dans le fichier
RPCGEN [-JE] -s type de réseau [-ou fichier de sortie] dans le fichier
RPCGEN -n netid [-ou fichier de sortie] dans le fichier

DESCRIPTION


RPCGEN est un outil qui génère du code C pour implémenter un protocole RPC. L'entrée à RPCGEN
est un langage similaire au C connu sous le nom de langage RPC (Remote Procedure Call Language).

RPCGEN est normalement utilisé comme dans le premier synopsis où il prend un fichier d'entrée et
génère jusqu'à quatre fichiers de sortie. Si la dans le fichier est appelé proto.x, puis RPCGEN seront
générer un fichier d'en-tête dans proto.h, les routines XDR dans proto_xdr.c, stubs côté serveur dans
proto_svc.c, et les stubs côté client dans proto_clnt.c. Avec le -T option, il sera également
générer la table de répartition RPC dans proto_tbl.i. Avec le -SC option, il sera également
générer un exemple de code qui illustrerait comment utiliser les procédures distantes sur le client
côté. Ce code serait créé dans proto_client.c. Avec le -H.H option, il sera également
générer un exemple de code serveur qui illustrerait comment écrire les procédures distantes.
Ce code serait créé dans serveur_proto.c.

Le serveur créé peut être démarré à la fois par les moniteurs de port (par exemple, inetd or écouter)
ou par lui-même. Lorsqu'il est démarré par un moniteur de port, il crée des serveurs uniquement pour le
transport pour lequel le descripteur de fichier 0 a été réussi. Le nom du transport doit être
spécifié en configurant la variable d'environnement PM_TRANSPORT. Lorsque le serveur
généré par RPCGEN est exécuté, il crée des descripteurs de serveur pour tous les transports
spécifié dans CHEMIN NET variable d'environnement, ou si elle n'est pas définie, elle crée des descripteurs de serveur
pour tous les transports visibles de /etc/netconfig déposer. Remarque : les transports sont choisis
au moment de l'exécution et non au moment de la compilation.

Lorsqu'il est conçu pour un moniteur de port (RPCGEN -I), et que le serveur est auto-démarré, il
arrière-plans lui-même par défaut. Un symbole de définition spécial RPC_SVC_FG peut être utilisé pour exécuter le
processus serveur au premier plan.

Le deuxième synopsis fournit des fonctionnalités spéciales qui permettent la création de plus
serveurs RPC sophistiqués. Ces fonctionnalités incluent la prise en charge de l'utilisateur fourni #définit et mes
Tables de répartition RPC. Les entrées de la table de répartition RPC contiennent :
· des pointeurs vers la routine de service correspondant à cette procédure,
· un pointeur vers les arguments d'entrée et de sortie
· la taille de ces routines
Un serveur peut utiliser la table de répartition pour vérifier l'autorisation puis exécuter le service
routine; une bibliothèque cliente peut l'utiliser pour gérer les détails de la gestion du stockage et
Conversion de données XDR.

Les trois autres synopsis présentés ci-dessus sont utilisés lorsque l'on ne veut pas générer tous les
fichiers de sortie, mais seulement un particulier. Quelques exemples de leur utilisation sont décrits dans le
EXEMPLE section ci-dessous. Lorsque RPCGEN est exécuté avec le -s option, il crée des serveurs pour
cette classe particulière de transports. Lorsqu'il est exécuté avec le -n option, il crée un
serveur pour le transport spécifié par netid. Si dans le fichier n'est pas spécifié, RPCGEN accepte
l'entrée standard.

Le préprocesseur C, cc -E [voir cc(1)], est exécuté sur le fichier d'entrée avant qu'il ne soit réellement
interprété par RPCGEN. Pour chaque type de fichier de sortie, RPCGEN définit une particularité
symbole de préprocesseur à utiliser par le RPCGEN programmeur:

RPC_HDR défini lors de la compilation dans les fichiers d'en-tête
RPC_XDR défini lors de la compilation dans les routines XDR
RPC_SVC défini lors de la compilation dans les stubs côté serveur
RPC_CLNT défini lors de la compilation dans les stubs côté client
RPC_TBL défini lors de la compilation dans les tables de répartition RPC

Toute ligne commençant par `%' est passé directement dans le fichier de sortie, non interprété par
RPCGEN.

Pour chaque type de données mentionné dans dans le fichier, RPCGEN suppose qu'il existe une routine avec
la corde xdr_ précédé du nom du type de données. Si cette routine n'existe pas dans
la bibliothèque RPC/XDR, elle doit être fournie. Fournir un type de données non défini permet
personnalisation des routines XDR.

Les options suivantes sont disponibles:

-a Générez tous les fichiers, y compris un exemple de code pour le client et le serveur.

-b Cela génère du code pour le style SunOS4.1 de rpc. C'est pour l'arrière
compatibilité. C'est la valeur par défaut.

-5 Cela génère du code pour le style SysVr4 de rpc. Il est utilisé par les transports
RPC indépendant qui se trouve dans les systèmes Svr4. Par défaut, rpcgen génère du code pour
Type SunOS4.1 de rpc.

-c Compilez dans des routines XDR.

-C Générer du code en ANSI C. Cette option génère également du code qui pourrait être compilé
avec le compilateur C++. C'est la valeur par défaut.

-k Générez du code dans K&R C. La valeur par défaut est ANSI C.

-Dprénom[=Plus-value]
Définir un symbole prénom. Équivalent au #define directive dans la source. Sinon
Plus-value est donné, Plus-value est défini comme étant 1. Cette option peut être spécifiée plus de
une fois que.

-h Compiler dans C définitions de données (un fichier d'en-tête). -T l'option peut être utilisée dans
conjonction pour produire un fichier d'en-tête qui prend en charge les tables de répartition RPC.

-I Générez un service qui peut être démarré à partir d'inetd. La valeur par défaut est de générer un
service statique qui gère les transports sélectionnés avec -s. En utilisant -I permet de démarrer
un service par l'une ou l'autre méthode.

-K secondes
Par défaut, les services créés à l'aide RPCGEN attendez 120 secondes après l'entretien d'un
demande avant de sortir. Cet intervalle peut être modifié à l'aide de la -K drapeau. Créer
un serveur qui se ferme immédiatement après le traitement d'une requête, -K 0 peut être utilisé. À
créer un serveur qui ne se ferme jamais, l'argument approprié est -K -1.

Lors de la surveillance d'un serveur, certains moniteurs de port, comme écouter(1 millions), toujours engendrer un
nouveau processus en réponse à une demande de service. Si l'on sait qu'un serveur sera
utilisé avec un tel moniteur, le serveur doit se fermer immédiatement à la fin. Pour
de tels serveurs, RPCGEN doit être utilisé avec -K -1.

-l Compilez dans des stubs côté client.

-m Compilez en stubs côté serveur, mais ne générez pas de routine « principale ». Cette option
est utile pour faire des routines de rappel et pour les utilisateurs qui ont besoin d'écrire leurs propres
routine « principale » pour effectuer l'initialisation.

-M Générer des stubs multithread-safe pour passer des arguments et des résultats entre rpcgen-
code généré et code écrit par l'utilisateur. Cette option est utile pour les utilisateurs qui souhaitent
utiliser des threads dans leur code.

-n netid
Compiler dans des stubs côté serveur pour le transport spécifié par netid. Il devrait
être une entrée pour netid dans la base de données netconfig. Cette option peut être spécifiée plus
qu'une seule fois, afin de compiler un serveur qui dessert plusieurs transports.

-N Utilisez le nouveau style de rpcgen. Cela permet aux procédures d'avoir plusieurs arguments. Ce
utilise également le style de passage de paramètre qui ressemble étroitement à C. Ainsi, lorsque
en passant un argument à une procédure distante, vous n'avez pas besoin de passer un pointeur vers le
argument mais l'argument lui-même. Ce comportement est différent de l'ancien style de
code généré par rpcgen. Le nouveau style n'est pas le cas par défaut à cause de l'arrière
compatibilité.

-o fichier de sortie
Spécifiez le nom du fichier de sortie. Si aucune n'est spécifiée, la sortie standard est utilisée
(-c, -h, -l, -m, -n, -s, -SC, -Pm, -H.H et -t modes uniquement).

-s type de réseau
Compiler en stubs côté serveur pour tous les transports appartenant à la classe
type de réseau. Les classes prises en charge sont chemin réseau, visible, circuit_n, circuit_v,
datagramme_n, datagramme_v, tcp et udp [voir rpc(3N) pour les significations associées à
ces classes]. Cette option peut être spécifiée plusieurs fois. Remarque : les transports
sont choisis au moment de l'exécution et non au moment de la compilation.

-SC Générer un exemple de code pour montrer l'utilisation de la procédure à distance et comment se lier au
server avant d'appeler les stubs côté client générés par rpcgen.

-Pm Générez un exemple de Makefile qui peut être utilisé pour compiler l'application.

-H.H Générez un squelette de code pour les procédures distantes côté serveur. tu voudrais
besoin de remplir le code réel pour les procédures à distance.

-t Compiler dans la table de répartition RPC.

-T Générez le code pour prendre en charge les tables de répartition RPC.

Les options -c, -h, -l, -m, -s et mes -t sont utilisés exclusivement pour générer un type particulier
du fichier, tandis que les options -D et mes -T sont globales et peuvent être utilisées avec les autres options.

NOTES


Le langage RPC ne prend pas en charge l'imbrication des structures. En guise de solution de contournement, les structures peuvent
être déclarés au niveau supérieur, et leur nom utilisé à l'intérieur d'autres structures afin de
obtenir le même effet.

Des conflits de noms peuvent se produire lors de l'utilisation de définitions de programme, car la portée apparente ne
s'appliquent vraiment. La plupart d'entre eux peuvent être évités en donnant des noms uniques aux programmes, versions,
procédures et types.

Le code serveur généré avec -n option fait référence au transport indiqué par netid et mes
est donc très spécifique au site.

EXEMPLE


L'exemple suivant :

$ RPCGEN -T prot.x

génère les cinq fichiers : prot.h, prot_clnt.c, prot_svc.c, prot_xdr.c et mes prot_tbl.i.

L'exemple suivant envoie les définitions de données C (fichier d'en-tête) à la sortie standard.

$ RPCGEN -h prot.x

Pour envoyer la version d'essai du -DTEST, stubs côté serveur pour tous les transports appartenant
à la classe datagramme_n à la sortie standard, utilisez :

$ RPCGEN -s datagramme_n -DTEST prot.x

Pour créer les stubs côté serveur pour le transport indiqué par netid tcp, Utiliser:

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

Utiliser rpcgen en ligne à l'aide des services onworks.net


Serveurs et postes de travail gratuits

Télécharger des applications Windows et Linux

Commandes Linux

Ad




×
Publicité
❤ ️Achetez, réservez ou achetez ici — gratuitement, contribue à maintenir la gratuité des services.