Présentation
Documentation
L'équipe
Sérialisation
 
Programmes
Objets
Libs Utilitaires
Libs Internes
   
 
Editeur
Syntaxes
Windows
Versions
   

SCR/AL1 - TOME III. Les librairies utilitaires

26. Le groupe s_isc

26.1 ISC_init (file s_dbcgnl.c:72)

Syntax

ISC_init()

Description

Initialise une communication avec le serveur s4issrv (crée un socket et se connecte au serveur s4issrv). Cette fonction suffit s'il n'y a pas d'accès base de données. Sinon, il y a lieu d'utiliser ISC_init_database().

Le nom du serveur et de la porte sont déterminés de la façon suivante :

Les variables globales DebugActif, ISC_COMPRESS et SCR_GZIP_LEVEL sont passées au serveur par cette fonction.

En sortie, la variable ISC_SERVER_VERS (int) contient la version du serveur s4issrv.

D'autre part, si la variable

    char *SCR_ISC_LOGIN

n'est pas nulle, elle est envoyée au serveur pour authentification de l'utilisateur. Cette variable a le format :

    "login/key" où key est un entier long positif

Le login et la clé sont définis sur le serveur dans le fichier scr4_iss.ini.

En sortie, la variable SCR_ISC_ERRNO contient une des valeurs suivantes :

Valeur retournée

Voir également

ISC_end(), ISC_init_database()

26.1.1 File s_dbcgnl.c

ISC_StartAllTimer()
ISC_StopAllTimer()
ISC_access(char *filename, int mode)
ISC_chdir(char *dir)
ISC_chmod(char *filename, int attr)
ISC_close_all_connect()
ISC_copy_1file(char *from, char *to)
ISC_copy_1file_pause(int nb_try)
ISC_copy_1file_resume(char *from, char *to, int chkcrc)
ISC_copy_1file_resume_2(char *from, char *to, SCRSTAT *ssfrom, SCRSTAT *ssto)
ISC_create_dirs(char *filename)
SCRSTAT **ISC_dir(char *path, int add_dir, char *dir, char *filename)
SCRSTAT **ISC_dir_ex(char *path, int add_dir, char *dir, char *filename, int crc)
SCRSTAT **ISC_dir_ex_fn(char *path, int add_dir, char *dir, char *filename, int crc, int *fn())
ISC_end()
int ISC_fclose(FILE *fd)
ISC_feof(FILE *fd)
ISC_fflush(FILE *fd)
ISC_flock(FILE *fd, long size)
FILE *ISC_fopen(char *filename, char *mode)
ISC_fprintf(fd, s1, s2, s3, s4, s5, s6, s7, s8, s9)
ISC_fread(char *buf, int lg, int nb, FILE *fd)
ISC_fseek(FILE *fd, long offset, int from)
long ISC_ftell(FILE *fd)
char *ISC_fullpath(filename, res)
ISC_funlock(FILE *fd, long size)
ISC_fwrite(char *buf, int lg, int nb, FILE *fd)
ISC_getaccess()
ISC_getc(FILE *fd)
unsigned long ISC_getcrc32(char *filename)
unsigned long ISC_getcrc32_lg(char *filename, long lg)
char *ISC_getcwd(int drive, char *dirname)
long ISC_getdate(char *serverport)
long ISC_gettime(char *serverport)
ISC_init()
ISC_init2(char *srv, int port)
ISC_local_copy(char *from, char *to)
ISC_mkdir(char *dir)
ISC_mstat_ex(SCRSTAT **ss, int crc)
ISC_mstat_ex_fn(SCRSTAT **ss, int crc, int *fn())
ISC_putc(int ch, FILE *fd)
ISC_read_line(fd, buf, lg)
ISC_rename(char *oldname, char *newname)
ISC_rmdir(char *dir)
ISC_set_debug_name(char *name)
ISC_set_file_time(char *filename, long actime, long modtime)
ISC_set_vars_gnl(int force, int sock)
ISC_setcwd(char *cwd)
ISC_starttimer(int socket)
ISC_stat(char *filename, SCRSTAT *ss)
ISC_stat_ex(char *filename, SCRSTAT *ss, int crc)
ISC_stoptimer(int socket)
ISC_system(char *cmd)
ISC_ungetc(int ch, FILE *fd)
ISC_unlink(char *filename)
ISC_wait(char *cmd)
ISC_winexec(char *cmd)
//déplacement de fonctions à vérifier IS_end_database_1(int i)
SCR_replace_alias(char *file, U_ch **alias)
SCR_replace_group(char *file)
SCR_replace_txt_file(char *file, char *from, char *to)
SCR_statdir401_2_last(SCRSTAT401 *ss401, SCRSTAT *ss)
SCR_statdirPRE458_2_last(SCRSTATPRE458 *ss458, SCRSTAT *ss)

ISC_StartAllTimer (file s_dbcgnl.c:3186)

Syntax

ISC_StartAllTimer()

ISC_StopAllTimer (file s_dbcgnl.c:3194)

Syntax

ISC_StopAllTimer()

ISC_chdir (file s_dbcgnl.c:1852)

Syntax

ISC_chdir(char *dir)

Description

Change le directory courant.

Si dir est préfixé par un nom d'hôte suivi d'une porte, suivi du séparateur ! en DOS, @@ en Unix, l'opération est effectuée via le serveur s4issrv (scr4_iss en Linux) tournant sur l'hôte.

Par exemple : 192.168.2.1:6000!c:\usr\mydir pour opérer sur le répertoire distant sur la machine 192.168.2.1 sur laquelle s4issrv est lancé sur la porte 6000.

S'il n'y a pas de nom de machine, l'opération a lieu sur la machine locale.

Valeur retournée

0 en cas de succès, -1 en cas de problème

Voir également

ISC_rmdir(), ISC_mkdir()

ISC_close_all_connect (file s_dbcgnl.c:3177)

Syntax

ISC_close_all_connect()

ISC_copy_1file_pause (file s_dbcgnl.c:2502)

Syntax

ISC_copy_1file_pause(int nb_try)

ISC_copy_1file_resume_2 (file s_dbcgnl.c:2345)

Syntax

ISC_copy_1file_resume_2(char *from, char *to, SCRSTAT *ssfrom, SCRSTAT *ssto)

ISC_dir_ex_fn (file s_dbcgnl.c:1708)

Syntax

SCRSTAT **ISC_dir_ex_fn(char *path, int add_dir, char *dir, char *filename, int crc, int *fn())

Description

Retourne une table de pointeurs vers des structures SCRSTAT correspondant aux spécifications données dans path (par ex. *c*). Les noms sont classés par ordre alphabétique, mais les directories sont tous placés au début. La table est terminée par un pointeur nul.

Si path est préfixé par un nom d'hôte suivi d'une porte, suivi du séparateur ! en DOS, @@ en Unix, l'opération est effectuée via le serveur s4issrv (scr4_iss en Linux) tournant sur l'hôte.

Par exemple :

        192.168.2.1:6000!c:\usr\*.c

pour opérer sur le fichier distant sur la machine 192.168.2.1 sur laquelle s4issrv est lancé sur la porte 6000.

S'il n'y a pas de nom de machine, l'opération a lieu sur la machine locale.

Le paramètre add_dir indique la sélection à effectuer sur les directory :

Les variables dir et filename contiennent en output le nom absolu du directory scanné et le masque de recherche. Elles doivent avoir une taille suffisante.

La valeur de crc détermine le fait de calculer ou non le crc32 de chaque fichier (voir SCR_stat_ex()).

La table est alloué à l'aide de SCR_add_ptr(). L'espace occupé est libéré par SCR_free_tbl().

Exemple

    SCRSTAT     **ss;
int i;
char dir[SCR_FILE_LG + 1];
char file[SCR_FILE_LG + 1];

ss = ISC_dir("c*c", 0, dir, file);
if(ss == 0) return;
printf("Directory of %s\n", dir);
for(i = 0 ; ss[i] ; i++)
printf("Name : %s - crc32 : %u\n", ss[i]->ss_name, ss[i]->ssx_crc32);
SCR_free_tbl(ss);

Valeur retournée

une table de SCRSTAT * contenant les fichiers sélectionnés et terminé par un pointeur nul. Si aucun fichier n'est trouvé, retourne NULL

Voir également

SCR_dir_ex(), ISC_dir(), SCR_dir()

ISC_feof (file s_dbcgnl.c:1293)

Syntax

ISC_feof(FILE *fd)

Description

La fonction ISC_feof indique si la fin du fichier est atteinte.

Valeur retournée

1 si fin de fichier, 0 sinon, -1 en cas d'erreur (fichier non ouvert)

Voir également

ISC_fopen(), ISC_fflush(), ISC_fclose(), ISC_fread(), ISC_getc(), ISC_putc(), ISC_ftell(), ISC_fseek()

ISC_init2 (file s_dbcgnl.c:108)

Syntax

ISC_init2(char *srv, int port)

ISC_mstat_ex (file s_dbcgnl.c:813)

Syntax

ISC_mstat_ex(SCRSTAT **ss, int crc)

ISC_mstat_ex_fn (file s_dbcgnl.c:727)

Syntax

ISC_mstat_ex_fn(SCRSTAT **ss, int crc, int *fn())

Description

Complète les structures SCRSTAT ss dont le seul nom (ss_name) est passé comme argument. Si crc vaut 1, le CRC32 est calculé pour chaque fichier.

Le premier nom de la table ss est utilisé pour déterminer le serveur et la porte si les fichiers ne sont pas locaux. Tous les fichiers doivent donc se trouver sur le même serveur.

Si le premier ss_name est préfixé par un nom d'hôte suivi d'une porte, suivi du séparateur ! en DOS, @@ en Unix, l'opération est effectuée via le serveur s4issrv (scr4_iss en Linux) tournant sur l'hôte.

Par exemple :

        192.168.2.1:6000!c:\usr\myfile

pour opérer sur le fichier distant sur la machine 192.168.2.1 sur laquelle s4issrv est lancé sur la porte 6000.

S'il n'y a pas de nom de machine, l'opération a lieu sur la machine locale.

Valeur retournée

0 en cas de succès, -1 en cas d'erreur.

Voir également

SCR_stat_ex(), ISC_stat()

ISC_set_debug_name (file s_dbcgnl.c:2882)

Syntax

ISC_set_debug_name(char *name)

Description

Change le nom du fichier Debug.win sur le serveur

Valeur retournée

0 en cas de succès, -1 en cas d'erreur.

ISC_setcwd (file s_dbcgnl.c:2866)

Syntax

ISC_setcwd(char *cwd)

ISC_starttimer (file s_dbcgnl.c:3203)

Syntax

ISC_starttimer(int socket)

ISC_stoptimer (file s_dbcgnl.c:3218)

Syntax

ISC_stoptimer(int socket)

IS_end_database_1 (file s_dbcgnl.c:3142)

Syntax

// déplacement de fonctions à vérifier

IS_end_database_1(int i)

SCR_replace_alias (file s_dbcgnl.c:2915)

Syntax

SCR_replace_alias(char *file, U_ch **alias)

Description

Remplace les ALIAS dans un fichier ex1:TOTO=fnac.evere.xon.be:5555 SERVEUR=$TOTO --> après la fontion TOTO=fnac.evere.xon.be:5555 ex2:TOTO=$.COMAGA // Indique qu'il faut aller chercher la variable d'environnement COMAGA SERVEUR=$TOTO.xon.be --> après la fontion si COMAGA=NIV TOTO=NIV SERVEUR=NIV.xon.be

Valeur retournée

0 si tout ok, -1 en cas d'erreur

SCR_replace_group (file s_dbcgnl.c:3007)

Syntax

SCR_replace_group(char *file)

Description

Remplace les GROUP de la section [REPLICA_GROUP] ex: [GROUP1] MAGA=LIP,WST

[REPLICA_GROUP1] DSN=$MAGA DIRECTORY=$LDIR.$MAGA;$ODIR.$MAGA

--> après la fonction [REPLICA_GROUP1] DSN=LIP DIRECTORY=$LDIR.LIP;$ODIR.LIP

[REPLICA_GROUP2] DSN=WST DIRECTORY=$LDIR.WST;$ODIR.WST

Valeur retournée

0 si tout ok, -1 en cas d'erreur

SCR_replace_txt_file (file s_dbcgnl.c:3107)

Syntax

SCR_replace_txt_file(char *file, char *from, char *to)

Description

Remplace un text pour un autre dans un fichier ex: SCR_replica_txt_file("toto.txt", "Hello", "Bonjour");

Valeur retournée

0 si tout ok, -1 en cas d'erreur

SCR_statdir401_2_last (file s_dbcgnl.c:631)

Syntax

SCR_statdir401_2_last(SCRSTAT401 *ss401, SCRSTAT *ss)

SCR_statdirPRE458_2_last (file s_dbcgnl.c:625)

Syntax

SCR_statdirPRE458_2_last(SCRSTATPRE458 *ss458, SCRSTAT *ss)

Copyright © 1998-2015 Jean-Marc Paul and Bernard PAUL - Envoyez vos remarques ou commentaires à bernard@xon.be