Kernel Services

kernel.services.getConfig (GET)

Frama-C Kernel configuration

input ::= null

output ::= { output… }

Output Format Description
"pluginpath" string [] Plugin directories (FRAMAC_PLUGIN)
"datadir" string [] Shared directory (FRAMAC_SHARE)
"version" string Frama-C version

kernel.services.load (SET)

Load a save file. Returns an error, if not successfull.

input ::= string

output ::= string ?

kernel.services.save (SET)

Save the current session. Returns an error, if not successfull.

input ::= string

output ::= string ?

kernel.services.logkind (DATA)

Log messages categories.

logkind ::= tags…

Tags Value Description
Error "ERROR" User Error
Warning "WARNING" User Warning
Feedback "FEEDBACK" Plugin Feedback
Result "RESULT" Plugin Result
Failure "FAILURE" Plugin Failure
Debug "DEBUG" Analyser Debug

kernel.services.logkindTags (GET)

Registered tags for the above type.

input ::= null

output ::= tag []

kernel.services.message (ARRAY)

Log messages

kernel.services.signalMessage (SIGNAL)

Signal for array message

kernel.services.messageData (DATA)

Data for array rows message

messageData ::= { fields… }

Field Format Description
"key" #message Entry identifier.
"kind" logkind Message kind
"plugin" string Emitter plugin
"message" string Message text
"category" (opt.) string Message category (only for debug or warning messages)
"source" (opt.) source Source file position
"marker" (opt.) marker Marker at the message position (if any)
"fct" (opt.) #fct Function containing the message position (if any)

kernel.services.fetchMessage (GET)

Data fetcher for array message

input ::= number

output ::= { output… }

Output Format Description
"pending" number remaining entries to be fetched
"updated" messageData [] updated entries
"removed" #message [] removed entries
"reload" boolean array fully reloaded

kernel.services.reloadMessage (GET)

Force full reload for array message

input ::= null

output ::= null

kernel.services.log (DATA)

Message event record.

log ::= { fields… }

Field Format Description
"kind" logkind Message kind
"plugin" string Emitter plugin
"message" string Message text
"category" (opt.) string Message category (DEBUG or WARNING)
"source" (opt.) source Source file position

kernel.services.setLogs (SET)

Turn logs monitoring on/off

input ::= boolean

output ::= null

kernel.services.getLogs (GET)

Flush the last emitted logs since last call (max 100)

input ::= null

output ::= log []