Documentation de FKEnv.c

par Jean-Luc Mounier
Laboratoire d'Informatique de Paris 6

SOMMAIRE

Fonctions

FkSysErrList
FkErrno
FkRandom
FkSetRandomSeed
FkEnvGetLanguage
....

Annexe

Paramètres d'appel

Le module FKEnv.c fait partie de la librairie libFKEnv.a, il contient ...

Fonctions

FkEnvGetLanguage

FkEnvGetLanguage rend le langage utilisé par l'interface utilisateur.
Voir exemple d'utilisation en annexe.

PROTOTYPE

#include <FKEnv.h>
short FkEnvGetLanguage(void);

void

pas de paramètres.

RÉSULTAT

Rend une des valeurs suivante.

#define

kFk_LanguageEnglish

0

#define

kFk_LanguageFrench

1

CONSIDÉRATIONS

En fait FkEnvGetLanguage rend la valeur de g_fkLanguage. g_fkLanguage est affecté par le paramètre d'appel -language de la ligne de commande.

FkTrace

FkTrace envoit un seul message l'interface utilisateur (fenêtre historique) et dans stderr. Cette primitive doit être utilisée lors de la mise au point de vos programmes. Les messages envoyés à l'interface utilisateur ne sont visibles que si l'utilisateur à coché "résultats détaillés".

PROTOTYPE

#include <FKResults.h>
void FkTrace(const char *message);

message

Chaine de caractères C sans '\n'.

Attention:

Dans cette fonction, le message ne peut pas être NULL.

CONSIDÉRATIONS

Comme dans beaucoup de fonctions, la taille d'une ligne de message ne peut pas être plus grande que la taille d'une commande CAMI. Par ligne, on entend texte entre deux '\n' par exemple.

FkEnvSetDefaultOutputStream

FkEnvSetDefaultOutputStream change la valeur de g_defaultOutputStream, utilisée pour l'envoie de commande CAMI.

PROTOTYPE

#include <FKEnv.h>
void FkEnvSetDefaultOutputStream(FILE *outputStream);

outputStream

stream de sortie (stdout par défault).

Annexe

Les annexes de ce document ...


Les paramètres d'appel

Lorsque l'on lance une application (en autonome) par une ligne de commande (ou un script shell), les paramètres sont d'abord constitués par ceux pour FrameKit, le paramètre -s puis ceux propres à l'application. (si il n'y a aucun paramètre pour l'application, il faut utiliser uniquement -s). Lorsque FrameKit lance une application, il utilise -end_env_p à la place de -s.

L'appel d'une application intégrée se fait

  • -s [param service]
  • -version
  • -framwrk_on_tub -pipe_in_out "chan_in" "chan_out" -u_name "userName" -language ENGLISH|FRENCH -end_env_p [param service]
  • [-framwrk_on_fifo] -file_in_out "file_in" "file_out" [-u_name "userName"] [-language ENGLISH|FRENCH] -s | -end_env_p [param service]

Exemple:

mini -framwrk_on_fifo -pipe_in_out "chan_in" "chan_out" -u_name "userName" -language FRENCH -end_env_p params

mini -framwrk_on_fifo -std_out -u_name "userName" -language FRENCH -end_env_p params

mini -file_in_out "file_in" "file_out" -s
PARAMÈTRES

Paramètre

Explication

Positionne à kFk_True

-version

rend le nom de l'outil, son numéro de version, son copyright, et les numéros de version les librairies Data, Env, User et Tools avec lesquels il est lié.

-kit_name

Rend le nom du kit (à détailler)

-s

Fin des paramètres interprétés pour FrameKit.
Pas de CAMI

g_fkStdOut
g_fkStandalone

-end_env_p

Fin des paramètres interprétés pour FrameKit.

-stt_msg_allowed

g_fkSTT_MSG_Allowed

-send_cami_file_allowed

g_fkSEND_CAMI_FILE_Allowed

-framwrk_on_fifo

g_fkOnFifo
g_fkStartedByFrameKit

-std_out

CAMI sur stdout.

 

g_fkStdOut
g_fkStartedByFrameKit

-fifo_in_out "file_in" "file_out"

Ouvre le canal de communication par défaut en fifo.

-u_name User_name

Passe le nom de l'utilisateur à l'application.

Affecte la variable g_fkUserName.

-language ENGLISH | FRENCH

Indique le langage voulu.
ENGLISH si absent.

Affecte la variable g_fkLanguage rendue par FkEnvGetLanguage.

-obj_file FileName

à détailler


Les variables globales

g_fkStdOut

On utilise stdin , g_defaultOutputStream et stderr.

  • FkClSendChannelCami envoit les commandes CAMI sur g_defaultOutputStream si il n'y a pas de canal de communication spécifié en paramètre et si il n'y a pas de canal spécifié par défaut (par -fifo_in_out).
  • FkResultSendMessage et assimilés, envoi les message d'erreur sur stderr ou sur stdout si ce ne sont pas des erreurs.
  • FkClSendFile envoit les commandes CAMI du fichier passé en paramètre par FkClSendChannelCami sinon il utilise la version 'turbo boost' qui consiste à envoyer un message à la plate-forme lui donnant le nom du fichier à envoyer (commande SEND_CAMI_FILE).
  • FkClRecoitCAMI donne un message d'erreur car stdin n'est pas implémenté (si il n'y a pas de canal spécifié par défaut).
  • FkClReceiveChannelCami idem ci-dessus (si il n'y a pas de canal de communication spécifié en paramètre).
  • FKMainEndTool appelé en fin d'exécution, flush de stdout et création d'un fichier temporaire FK_exec_finished.lock dans l'espace de travail du modèle.

Remarque:

Sur MacOS la variable g_fkStdOut est toujours positionnée.

g_defaultOutputStream

g_defaultOutputStream est le stream par défaut de l'envoit des commandes CAMI (FkClSendChannelCami) si il n'y a pas de canal de communication spécifié.
La valeur par défaut est stdout.
Elle peut être changée par FkEnvSetDefaultOutputStream.

g_fkStandalone

Remarque:

Sur MacOS la variable g_fkStandalone est toujours positionnée.

g_fkSTT_MSG_Allowed

  • FkSendWaitingMessage envoit le message d'attente par la commande STT_MSG.

g_fkSEND_CAMI_FILE_Allowed

  • FkClSendFile est autorisé à envoyer la commande SEND_CAMI_FILE. Il faut aussi pour cela que g_fkStdOut soit faux.

g_fkOnFifo

non utilisé ?

g_fkStartedByFrameKit

  • FkClSendFile est autorisé à envoyer la commande SEND_CAMI_FILE. Il faut aussi pour cela que g_fkStdOut soit faux.
  • FkEnvReadBasicInfo vérifie l'existance du fichier fk_basic_info, du fichier FK_MNGR/.formalism,
  • FkSendWaitingMessage envoit le message d'attente par la commande STT_MSG.
  • main envoit la commande START_TOOL.
  • FKMainEndTool appelé en fin d'exécution, envoit la commande END_TOOL.

API de Framekit en C | FrameKit
Mise à jour : 23-Oct-98