ut_os_aix.c File Reference
operatingSystem Linux & AIX OS_
More...
#include <math.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <errno.h>
#include <dlfcn.h>
#include <stdarg.h>
#include <dirent.h>
#include <sys/utsname.h>
#include <time.h>
#include <sys/time.h>
#include <signal.h>
#include <unistd.h>
#include <sys/types.h>
#include <sys/stat.h>
#include "../ut/ut_txt.h"
#include "../ut/ut_os.h"
#include "../ut/ut_cast.h"
Defines |
| #define | PTRSIZ sizeof(void*) |
| | f. access, R_OK ..
|
| #define | VER_LIBC_MAJ 2 |
| #define | VER_LIBC_MIN 9 |
| #define | VER_GTK_MAJ 2 |
| #define | VER_GTK_MIN 16 |
Functions |
| int | OS_config () |
| int | OS_ck_libcVersion (int vMaj, int vMin) |
| int | OS_CkPrcIsActive (char *prcNam) |
| int | OS_Init_ (char *cmd) |
| char * | OS_get_lang () |
| char * | OS_get_browser () |
| int | OS_get_dialog () |
| char * | OS_get_edi () |
| char * | OS_get_term () |
| char * | OS_get_vwr_ps () |
| char * | OS_get_user () |
| int | OS_browse_ (char *filnam) |
| int | OS_edit_ (char *filnam) |
| char * | OS_get_printer () |
| int | OS_spawn_wait (char *cmd, int iwait) |
| void | OS_Wait (int millisecs) |
| void | OS_beep () |
| char * | OS_os_s () |
| int | OS_os_bits () |
| void | OS_date (long *i1, long *i2, long *i3) |
| char * | OS_date1 () |
| void | OS_time (long *i1, long *i2, long *i3) |
| double | OS_rTime () |
| int | OS_TimeStamp (TimeStamp *ts1) |
| int | OS_system (char *buf) |
| int | OS_sys1 (char *sOut, int sSiz, char *cmd) |
| int | OS_exec (char *txt) |
| int | OS_ckFileWritable (char *fnam) |
| int | OS_checkFilExist (char *filnam, int mode) |
| int | OS_checkDirExist (char *dirnam) |
| char * | OS_get_tmp_dir () |
| char * | OS_get_loc_dir () |
| char * | OS_get_cfg_dir () |
| char * | OS_get_ico_dir () |
| char * | OS_get_bin_dir () |
| char * | OS_get_doc_dir () |
| char * | OS_get_bas_dir () |
| int | OS_ck_DirAbs (char *fNam) |
| int | OS_dirAbs_fNam (char *dirOut, char *fNam) |
| long | OS_FilSiz (char *filnam) |
| int | OS_file_sig_cre (int mode, void *data) |
| int | OS_file_sig_wait (int mode, void *data) |
| int | OS_check_isDir (char *dirnam) |
| int | OS_dir_root (char *roots, int csiz) |
| int | OS_dir_ck1 (char *p1) |
| int | OS_dir_ck2 (char *dir) |
| int | OS_dir_scan_ (char *cbuf, int *iNr) |
| int | OS_filterff (char *fnamO, char *fnamI, char *ftext) |
| int | OS_file_delGrp (char *fNam) |
| int | OS_file_copy (char *oldNam, char *newNam) |
| int | OS_file_rename (char *fnOld, char *fnNew) |
| int | OS_file_delete (char *fNam) |
| int | OS_file_readm1 (char *cbuf, int cSiz, char *fnam) |
| int | OS_dll__ (int mode, void *fDat) |
| int | OS_debug_dll_ (char *dllNam) |
| int | OS_dll_do (char *dllNam, char *fncnam, void *fncdat) |
| int | OS_dll_run (char *dllNam, char *fncNam, void *fncDat) |
| int | OS_file_zip (int mode, char *fnFrom, char *fnTo) |
| int | OS_file_concat (char *fno, char *fn1, char *fn2) |
| char * | OS_get_imgConv1 () |
| int | OS_dev_ck () |
| int | OS_err1 (char *fNam) |
Variables |
| static char | os_bin_dir [256] |
| static char | os_bas_dir [256] |
| static char | os_doc_dir [256] |
| static char | os_loc_dir [256] |
| static char | os_tmp_dir [256] |
| static char | os_ico_dir [256] |
| static char | txbuf [256] |
Detailed Description
operatingSystem Linux & AIX OS_
=====================================================
Liste_Funktionen_Beginn:
OS_Init_ (argv[0]); save basedir
OS_os_s returns "Linux" or "MS"
OS_os_bits returns 32 or 64
OS_date Datum (als iyear, imon, iday) holen
OS_date1 Format: 2002/09/04-13:30:33
OS_time Zeit (ihour, imin, isec) holen
OS_rTime returns time in sec's, (res = mycrosec's)
OS_TimeStamp get TimeStamp (sec; res = 0.01; ~1 year)
OS_Wait in millisecs
OS_beep
OS_system Perform OS-Command; wait for completion (system)
OS_sys1 get systemCommand (popen)
OS_exec Perform OS-Command; do not wait for completion.
OS_spawn_wait execute command and wait explicit
OS_edit_ edit File (OS_get_edi, OS_system)
OS_browse_ display file in HTML-browser
OS_err1 print errno
OS_check_isDir is this dir (or file ..)
OS_checkFilExist check if File or Directory exists
OS_checkFileWritable check if file is writeable;
OS_checkDirExist und try to create dir
OS_CkPrcIsActive check if process with name prcNam is active
OS_ck_DirAbs check if string is absoluter or relativer Filname
OS_dirAbs_fNam get full (absolut) path from filename
OS_get_bas_dir getenv("PWD");
OS_get_tmp_dir returns "~/gCAD3D/tmp/"
OS_get_bin_dir returns "binLinux32"
OS_get_doc_dir returns path of docu
OS_get_lang getenv("LANG")
OS_get_edi liefert bei Linux "gedit"
OS_get_printer get 1. word of /etc/printcap
OS_get_browser liefert konqueror/mozilla/netscape
OS_get_term liefert bei Linux "xterm "
OS_get_dialog check if zenity is installed
OS_dir_scan_ scan (list) directory (see UTX_dir_listf)
OS_dir_root Liste der untersten Rootverzeichnisse anlegen
OS_dir_ck1 check ob rootDir beschreibbar ist
OS_file_copy copy file
OS_file_rename rename File; keine Wildcards !
OS_file_delete delete File; keine Wildcards !
OS_file_delGrp Delete files/Wildcard; Single File "remove (fn);"
Rename files via "rename (oldNam, newNam);"
OS_file_readm1 read complete file into memory
OS_file_zip compress/uncompress file
OS_file_concat concatenate 2 files (fno = fn1 + fn2)
OS_file_sig_cre create signal-file
OS_file_sig_wait wait for signalfile & get its content
OS_FilSiz query filesize
OS_filterff sort & filter file
OS_dll_do load dll, start function, unload dll
OS_dll_run load dll, start function, unload dll
OS_dll__ load dll| start function| unload dll
OS_get_imgConv1 returns jpg2bmp-converter; eg /usr/bin/djpeg
Liste_Funktionen_Ende:
=====================================================
#ifdef _MSC_VER
printf(" %d\n",_MSC_VER);
#ifdef _WIN64
printf("This is a MS64-OS ! \n");
printf(" _WIN64 %d\n",_WIN64);
#else
printf("This is a MS32-OS ! \n");
#endif
#else
#ifdef _LP64
#else
#endif
Define Documentation
| #define PTRSIZ sizeof(void*) |
Function Documentation
| int OS_ck_libcVersion |
( |
int |
vMaj, |
|
|
int |
vMin | |
|
) |
| | |
test if new software with Lib-version <versionLinked> can be used.
<versionLinked> must be equal or less then the active Lib-version.
View the active GNU-Lib-version in a shell with "/lib/libc.so.6"
Mandriva 2009 reports "glibc 2.8"
Input:
versionLinked of the software at the time of binding
RetCod: 0 OK; active-libc-version is >= <versionLinked>
-1 Error; active-libc-version is < <versionLinked>
| int OS_CkPrcIsActive |
( |
char * |
prcNam |
) |
|
OS_CkPrcIsActive check if process with name prcNam is active
Retcode:
0 process is active
1 process is not active
| int OS_Init_ |
( |
char * |
cmd |
) |
|
returns language; eg "de" or "en"
returns html-browser; eg "mozilla"
check if zenity is installed. 1=yes, -1=no.
returns fileEditorProgram; eg "gedit " or "kedit "
returns console-program; eg "xterm -e "
returns ps-viewer (gv|evince)
returns console-program; eg "xterm -e "
| int OS_browse_ |
( |
char * |
filnam |
) |
|
html-browse <filnam>
do not wait for end of process.
| int OS_edit_ |
( |
char * |
filnam |
) |
|
<edit> <filnam>
waits for end of process.
DO NOT USE: use APP_edit
get 1. word of /etc/printcap
| int OS_spawn_wait |
( |
char * |
cmd, |
|
|
int |
iwait | |
|
) |
| | |
execute command and wait explicit
cmd should be one word without parameters ...
iwait = time to wait in secs
| void OS_Wait |
( |
int |
millisecs |
) |
|
wait - milli-seconds (<millisecs> * 0.001 seconds)
| void OS_date |
( |
long * |
i1, |
|
|
long * |
i2, |
|
|
long * |
i3 | |
|
) |
| | |
OS_date returns (year, mon, day)
Format: 2002/09/04-13:30:33
printf ("# %s\n", OS_date1());
| void OS_time |
( |
long * |
i1, |
|
|
long * |
i2, |
|
|
long * |
i3 | |
|
) |
| | |
OS_time returns (hour, min, sec)
OS_rTime returns time in sec's, (res = mycrosec's)
| int OS_TimeStamp |
( |
TimeStamp * |
ts1 |
) |
|
| int OS_system |
( |
char * |
buf |
) |
|
OS_system Perform OS-Command; wait for completion (system)
| int OS_sys1 |
( |
char * |
sOut, |
|
|
int |
sSiz, |
|
|
char * |
cmd | |
|
) |
| | |
OS_sys1 get systemCommand (popen) RetCod: >0 OK, nr of chars returned in sOut -1 cannot open pipe -2 sOut too small
| int OS_exec |
( |
char * |
txt |
) |
|
OS_exec Perform OS-Command; do not wait for completion.
| int OS_ckFileWritable |
( |
char * |
fnam |
) |
|
OS_checkFileWritable check if file is writeable;
0=no, 1=yes.
| int OS_checkFilExist |
( |
char * |
filnam, |
|
|
int |
mode | |
|
) |
| | |
OS_checkFilExist check if File or Directory exists
mode = 0: display message sofort;
mode = 1: just fix returncode, no message
mode = 2: make Errormessage (TX_Error) if File does not exist
rc = 0 = Fehler; datei existiert NICHT.
rc = 1 = OK, Datei existiert.
| int OS_checkDirExist |
( |
char * |
dirnam |
) |
|
if dir dirnam does not exist, try to create it.
Nur testen ob directory existiert: use OS_checkFilExist.
rc = 0 = Fehler; Dir existiert NICHT.
rc = 1 = Dir sucessfully created.
rc = 2 = Dir did already exist.
returns tempDir (with closing '/') <gcad_dir_local>tmp/
returns confDir (with closing '/') <gcad_dir_local>xa/
returns confDir (with closing '/') <gcad_dir_local>xa/
returns directory for icons (with closing '/') <gcad_dir_bin>icons/
OS_get_bin_dir returns path of executables, $gcad_dir_bin
OS_get_doc_dir returns path of docu
returns base-directory (= home of main-executable, $gcad_dir_bas)
usage: strcat (cmdBuf, OS_get_bas_dir ());
liefert "/mnt/F/dev/" - wo das exe herstammt !
| int OS_ck_DirAbs |
( |
char * |
fNam |
) |
|
check if string is absolute or relative Filname ..
Returncodes:
0 = yes, absolut
1 = no, relativ ..
see also OS_dirAbs_fNam
Varianten:
/dir/fn
./fn
../dir/fn
dir/fn
| int OS_dirAbs_fNam |
( |
char * |
dirOut, |
|
|
char * |
fNam | |
|
) |
| | |
OS_dirAbs_dir get full (absolut) path from filename
| long OS_FilSiz |
( |
char * |
filnam |
) |
|
OS_FilSiz returns filesize in bytes
| int OS_file_sig_cre |
( |
int |
mode, |
|
|
void * |
data | |
|
) |
| | |
OS_file_sig_cre create signal-file
Input:
mode 0 clear file; data = signalfilename; must be done first
1 write data = string (null terminated) -> signalfile
2 write data = int (4 bytes) -> signalfile
99 cancelled by user (following read gives retCod -1)
-1 read data = string (null terminated) -> data (size of data !)
-2 read data = int (4 bytes) -> data
Output:
data text or int (mode);
RetCod: 0 OK, data valid
-1 cancelled by user
| int OS_file_sig_wait |
( |
int |
mode, |
|
|
void * |
data | |
|
) |
| | |
RetCod: 0 OK, data valid -1 cancelled by user
| int OS_check_isDir |
( |
char * |
dirnam |
) |
|
returns if {dirnam} is directory or file
rc = 1 = OFF = NO; dirnam is NOT directory
rc = 0 = ON = OK; dirnam is directory.
rc = -1 = Error - dirnam does not exist
| int OS_dir_root |
( |
char * |
roots, |
|
|
int |
csiz | |
|
) |
| | |
OS_dir_root returns a list of root-directories
| int OS_dir_ck1 |
( |
char * |
p1 |
) |
|
check rootDir
irc=0 CD-Rom,
1 Diskette,
2 normal
| int OS_dir_ck2 |
( |
char * |
dir |
) |
|
check if directory is writable
irc=0=no, not writable,
1=jes, directory is writable
| int OS_dir_scan_ |
( |
char * |
cbuf, |
|
|
int * |
iNr | |
|
) |
| | |
scan directory
iNr = 0: init suche; zu scannender Pfad ist cbuf.
iNr > 0: cbuf ist next found file; do not change iNr! (Filename ohne Path !)
iNr < 0; kein weiteres File found; directory closed.
| int OS_filterff |
( |
char * |
fnamO, |
|
|
char * |
fnamI, |
|
|
char * |
ftext | |
|
) |
| | |
sort & filter file. Ignore case.
gesamte Liste (Datei) sortieren u. filtern;
ftext = Filtertext
RC = -1: kein Inputfile
| int OS_file_delGrp |
( |
char * |
fNam |
) |
|
OS_file_delGrp Delete files/Wildcard; Single File "remove (fn);"
| int OS_file_copy |
( |
char * |
oldNam, |
|
|
char * |
newNam | |
|
) |
| | |
| int OS_file_rename |
( |
char * |
fnOld, |
|
|
char * |
fnNew | |
|
) |
| | |
rename File; NO Wildcards !
| int OS_file_delete |
( |
char * |
fNam |
) |
|
delete File; NO Wildcards !
| int OS_file_readm1 |
( |
char * |
cbuf, |
|
|
int |
cSiz, |
|
|
char * |
fnam | |
|
) |
| | |
read complete file into memory
Datei fnam in den Buff cbuf einlesen.
cSiz = size of cbuf
Retcode:
-1 Error
>0 size of file
| int OS_dll__ |
( |
int |
mode, |
|
|
void * |
fDat | |
|
) |
| | |
mode 0 = open (load Lib fNam)
mode 1 = connect (connect Func fDat)
mode 2 = work (call active Func with parameter fDat)
mode 3 = unload active lib
| int OS_debug_dll_ |
( |
char * |
dllNam |
) |
|
wenn im Debug-Modus wird hier gestoppt;
In .gdbinit muss stehen:
break OS_debug_dll_
wenn Debugger steht, eingeben "watch varnam" und "c"
Zweck: Debugger kann DLL nur ansprechen wenn geladen.
| int OS_dll_do |
( |
char * |
dllNam, |
|
|
char * |
fncnam, |
|
|
void * |
fncdat | |
|
) |
| | |
load dll; start function fncNam (fncDat); unload dll.
| int OS_dll_run |
( |
char * |
dllNam, |
|
|
char * |
fncNam, |
|
|
void * |
fncDat | |
|
) |
| | |
load dll; start function fncNam (fncDat); unload dll. see also UI_DllLst_work
| int OS_file_zip |
( |
int |
mode, |
|
|
char * |
fnFrom, |
|
|
char * |
fnTo | |
|
) |
| | |
compress | uncompress file
mode = 0: compress: gzip -c9 t1.gcad > t1.gcaz
mode = 1: uncompress: gzip -dc t1.gcaz > t1.gcad
| int OS_file_concat |
( |
char * |
fno, |
|
|
char * |
fn1, |
|
|
char * |
fn2 | |
|
) |
| | |
| char* OS_get_imgConv1 |
( |
|
) |
|
returns jpg2bmp-converter-program; eg /usr/bin/djpeg
| int OS_err1 |
( |
char * |
fNam |
) |
|
Variable Documentation