1. System Info Through Euphoria
- Posted by Icy_Viking Jul 03, 2017
- 1400 views
Hello,
Is there an easy way to get system info by coding through Euphoria? I have looked through a couple of libraries, however none seem to be in a DLL format. I saw a old version of sigar in DLL, but it seems to have a lot of structs in it, which may be difficult to wrap in Eu. If Sigar isn't as hard to wrap as it seems at first, I'd be willing to wrap it for Euphoria. I'm also open to other suggestions or other libraries for getting system info that may be better.
2. Re: System Info Through Euphoria
- Posted by jmduro Jul 03, 2017
- 1362 views
On Linux, I have written an agent 4 years ago that sent detailed hardware information to a supervisor. It used dmidecode and some other Linux tools. One can also use lshw.
JEan-Marc
3. Re: System Info Through Euphoria
- Posted by petelomax Jul 03, 2017
- 1456 views
Not sure if this is anything remotely like what you want, but many years ago I wrote some Phix-only inline assembly, demo/cpuid.exw which outputs eg:
maxlevel is 13 vendorID is GenuineIntel cpuid(0,1,0) [Feature Information]: eax is 000206A7 family is 6 model is 522 processor_type is 0 (original OEM) steppingID is 7 ebx is 03100800 apicID is 3 cpu_count is 16 chunks is 8 brandID is 0 edx is BFEBFBFF FPU: 1 TSC: 1 CMOV: 1 PSN: 0 MMX: 1 SSE: 1 SSE2: 1 ecx is 0C98E3BF SSE3: 1 cpuid(0,2,0) [Cache descriptors]: times = 1 eax is 76035A01 ebx is 00F0B2FF edx is 00CA0000 ecx is 00000000 {1,90'Z',3,118'v',255,178,240,0,0,0,202,0,0,0,0,0} cpuid(0,4,0) [Deterministic Cache Parameters]: eax is 1C004121 eax is 1C004121 cache type is 1 [Data cache] cache level is 1 self initialising cache is 1 fully associative cache is 0 ebx is 01C0003F edx is 00000000 edx is 00000000 ecx is 0000003F cache_size is 32256 cpuid(0,4,1) [Deterministic Cache Parameters]: eax is 1C004122 eax is 1C004122 cache type is 2 [Instruction cache] cache level is 1 self initialising cache is 1 fully associative cache is 0 ebx is 01C0003F edx is 00000000 edx is 00000000 ecx is 0000003F cache_size is 32256 cpuid(0,4,2) [Deterministic Cache Parameters]: eax is 1C004143 eax is 1C004143 cache type is 3 [Unified cache] cache level is 2 self initialising cache is 1 fully associative cache is 0 ebx is 01C0003F edx is 00000000 edx is 00000000 ecx is 000001FF cache_size is 261632 cpuid(0,4,3) [Deterministic Cache Parameters]: eax is 1C03C163 eax is 1C03C163 cache type is 3 [Unified cache] cache level is 3 self initialising cache is 1 fully associative cache is 0 ebx is 02C0003F edx is 00000006 edx is 00000002 ecx is 00000FFF cache_size is 3144960 cpuid(0,4,4) [Deterministic Cache Parameters]: eax is 00000000 eax is 00000000 cache type is 0 [Null, no more caches] levels>=5 not investigated... Extended Functions: maxlevel is 8 eax is 80000008 cpuid(1,1,0) [Extended Feature Flags]: edx is 20100000 processor name string is "Intel(R) Core(TM) i3-2120 CPU @ 3.30GHz" cpuid(1,6,0) [Extended L2 cache features]: ecx is 01006040 L2 cache size = 256K L2 cache associativity = 6 [8-Way] L2 cache line size = 64 levels>=7 not investigated...
You can see the (ugly) source code here, which also contains a couple of possible links.
On OpenEuphoria, you might be able to cobble something similar up with Pete Eberlein's Mini-Assembler.
Or maybe anything found on flatassembler could be packaged into a dll fairly easily.
I suppose I could even try packaging that cpuid code into a Phix-built dll which could be invoked from OpenEuphoria... maybe.
Pete