UTSName - Module
Posted: Wed Apr 22, 2015 3:45 pm
Hello everyone,
Another simple module mostly based on http://www.purebasic.fr/english/viewtop ... 55#p198155
With Ascii and Unicode support
Enjoy it !
Best regards
StarBootics
Another simple module mostly based on http://www.purebasic.fr/english/viewtop ... 55#p198155
With Ascii and Unicode support
Enjoy it !
Best regards
StarBootics
Code: Select all
; <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
; Project name : UTSName - Module
; File Name : UTSName - Module.pb
; File version: 0.0.0
; Programming : OK
; Programmed by : StarBootics
; Date : 22-04-2015
; Last Update : 22-04-2015
; PureBasic code : V5.31
; Platform : Linux, MacOS X ???
; <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
DeclareModule UTSName
Declare.s SystemName()
Declare.s NodeName()
Declare.s Release()
Declare.s Version()
Declare.s Machine()
Declare.s DomainName()
Declare Initialize()
Declare Reset()
EndDeclareModule
Module UTSName
Structure Instance
SystemName.s{65}
NodeName.s{65}
Release.s{65}
Version.s{65}
Machine.s{65}
DomainName.s{65}
EndStructure
Global Instance.Instance
Procedure.s SystemName()
ProcedureReturn Instance\SystemName
EndProcedure
Procedure.s NodeName()
ProcedureReturn Instance\NodeName
EndProcedure
Procedure.s Release()
ProcedureReturn Instance\Release
EndProcedure
Procedure.s Version()
ProcedureReturn Instance\Version
EndProcedure
Procedure.s Machine()
ProcedureReturn Instance\Machine
EndProcedure
Procedure.s DomainName()
ProcedureReturn Instance\DomainName
EndProcedure
Procedure Initialize()
CompilerIf #PB_Compiler_Unicode
*Memory = AllocateMemory(6 * 65)
If *Memory <> #Null
uname_(*Memory)
Instance\SystemName = PeekS(*Memory + 65 * 0, -1, #PB_Ascii)
Instance\NodeName = PeekS(*Memory + 65 * 1, -1, #PB_Ascii)
Instance\Release = PeekS(*Memory + 65 * 2, -1, #PB_Ascii)
Instance\Version = PeekS(*Memory + 65 * 3, -1, #PB_Ascii)
Instance\Machine = PeekS(*Memory + 65 * 4, -1, #PB_Ascii)
Instance\DomainName = PeekS(*Memory + 65 * 5, -1, #PB_Ascii)
FreeMemory(*Memory)
EndIf
CompilerElse
uname_(Instance)
CompilerEndIf
EndProcedure
Procedure Reset()
Instance\SystemName = ""
Instance\NodeName = ""
Instance\Release = ""
Instance\Version = ""
Instance\Machine = ""
Instance\DomainName = ""
EndProcedure
EndModule
CompilerIf #PB_Compiler_IsMainFile
UTSName::Initialize()
Debug UTSName::SystemName()
Debug UTSName::NodeName()
Debug UTSName::Release()
Debug UTSName::Version()
Debug UTSName::Machine()
Debug UTSName::DomainName()
UTSName::Reset()
CompilerEndIf
; <<<<<<<<<<<<<<<<<<<<<<<
; <<<<< END OF FILE <<<<<
; <<<<<<<<<<<<<<<<<<<<<<<