SCR/AL1 - TOME III. Les librairies utilitaires
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()
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