excavator
Parses DWARF debugging information from an ELF executable binary and generates an equivalent (interfaces and code skeletons only) compilable C source code
/excavator/{dbName}
Usage and SDK Samples
curl -X POST \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
"http://pkm-api_excavator_1:8087/excavator/{dbName}?asynchronous=true&invocationID=invocationID_example" \
-d ''
import org.openapitools.client.*;
import org.openapitools.client.auth.*;
import org.openapitools.client.model.*;
import org.openapitools.client.api.ExcavatorApi;
import java.io.File;
import java.util.*;
public class ExcavatorApiExample {
public static void main(String[] args) {
// Create an instance of the API class
ExcavatorApi apiInstance = new ExcavatorApi();
String dbName = dbName_example; // String | The project name from where to get the ELF executable binary and put analysis results (compilable C source code)
String key = key_example; // String | Access key to the PKM (optional, depending on server configuration)
InlineObject body = ; // InlineObject |
Boolean asynchronous = true; // Boolean | flag to control asynchronous/synchronous execution of Excavator job
String invocationID = invocationID_example; // String | invocation identifier (optional)
try {
Job result = apiInstance.excavator(dbName, key, body, asynchronous, invocationID);
System.out.println(result);
} catch (ApiException e) {
System.err.println("Exception when calling ExcavatorApi#excavator");
e.printStackTrace();
}
}
}
import org.openapitools.client.api.ExcavatorApi;
public class ExcavatorApiExample {
public static void main(String[] args) {
ExcavatorApi apiInstance = new ExcavatorApi();
String dbName = dbName_example; // String | The project name from where to get the ELF executable binary and put analysis results (compilable C source code)
String key = key_example; // String | Access key to the PKM (optional, depending on server configuration)
InlineObject body = ; // InlineObject |
Boolean asynchronous = true; // Boolean | flag to control asynchronous/synchronous execution of Excavator job
String invocationID = invocationID_example; // String | invocation identifier (optional)
try {
Job result = apiInstance.excavator(dbName, key, body, asynchronous, invocationID);
System.out.println(result);
} catch (ApiException e) {
System.err.println("Exception when calling ExcavatorApi#excavator");
e.printStackTrace();
}
}
}
// Create an instance of the API class
ExcavatorApi *apiInstance = [[ExcavatorApi alloc] init];
String *dbName = dbName_example; // The project name from where to get the ELF executable binary and put analysis results (compilable C source code) (default to null)
String *key = key_example; // Access key to the PKM (optional, depending on server configuration) (default to null)
InlineObject *body = ; //
Boolean *asynchronous = true; // flag to control asynchronous/synchronous execution of Excavator job (optional) (default to false)
String *invocationID = invocationID_example; // invocation identifier (optional) (optional) (default to null)
[apiInstance excavatorWith:dbName
key:key
body:body
asynchronous:asynchronous
invocationID:invocationID
completionHandler: ^(Job output, NSError* error) {
if (output) {
NSLog(@"%@", output);
}
if (error) {
NSLog(@"Error: %@", error);
}
}];
var UnisimExcavatorApiForPkm = require('unisim_excavator_api_for_pkm');
// Create an instance of the API class
var api = new UnisimExcavatorApiForPkm.ExcavatorApi()
var dbName = dbName_example; // {String} The project name from where to get the ELF executable binary and put analysis results (compilable C source code)
var key = key_example; // {String} Access key to the PKM (optional, depending on server configuration)
var body = ; // {InlineObject}
var opts = {
'asynchronous': true, // {Boolean} flag to control asynchronous/synchronous execution of Excavator job
'invocationID': invocationID_example // {String} invocation identifier (optional)
};
var callback = function(error, data, response) {
if (error) {
console.error(error);
} else {
console.log('API called successfully. Returned data: ' + data);
}
};
api.excavator(dbName, key, body, opts, callback);
using System;
using System.Diagnostics;
using Org.OpenAPITools.Api;
using Org.OpenAPITools.Client;
using Org.OpenAPITools.Model;
namespace Example
{
public class excavatorExample
{
public void main()
{
// Create an instance of the API class
var apiInstance = new ExcavatorApi();
var dbName = dbName_example; // String | The project name from where to get the ELF executable binary and put analysis results (compilable C source code) (default to null)
var key = key_example; // String | Access key to the PKM (optional, depending on server configuration) (default to null)
var body = new InlineObject(); // InlineObject |
var asynchronous = true; // Boolean | flag to control asynchronous/synchronous execution of Excavator job (optional) (default to false)
var invocationID = invocationID_example; // String | invocation identifier (optional) (optional) (default to null)
try {
Job result = apiInstance.excavator(dbName, key, body, asynchronous, invocationID);
Debug.WriteLine(result);
} catch (Exception e) {
Debug.Print("Exception when calling ExcavatorApi.excavator: " + e.Message );
}
}
}
}
<?php
require_once(__DIR__ . '/vendor/autoload.php');
// Create an instance of the API class
$api_instance = new OpenAPITools\Client\Api\ExcavatorApi();
$dbName = dbName_example; // String | The project name from where to get the ELF executable binary and put analysis results (compilable C source code)
$key = key_example; // String | Access key to the PKM (optional, depending on server configuration)
$body = ; // InlineObject |
$asynchronous = true; // Boolean | flag to control asynchronous/synchronous execution of Excavator job
$invocationID = invocationID_example; // String | invocation identifier (optional)
try {
$result = $api_instance->excavator($dbName, $key, $body, $asynchronous, $invocationID);
print_r($result);
} catch (Exception $e) {
echo 'Exception when calling ExcavatorApi->excavator: ', $e->getMessage(), PHP_EOL;
}
?>
use Data::Dumper;
use WWW::OPenAPIClient::Configuration;
use WWW::OPenAPIClient::ExcavatorApi;
# Create an instance of the API class
my $api_instance = WWW::OPenAPIClient::ExcavatorApi->new();
my $dbName = dbName_example; # String | The project name from where to get the ELF executable binary and put analysis results (compilable C source code)
my $key = key_example; # String | Access key to the PKM (optional, depending on server configuration)
my $body = WWW::OPenAPIClient::Object::InlineObject->new(); # InlineObject |
my $asynchronous = true; # Boolean | flag to control asynchronous/synchronous execution of Excavator job
my $invocationID = invocationID_example; # String | invocation identifier (optional)
eval {
my $result = $api_instance->excavator(dbName => $dbName, key => $key, body => $body, asynchronous => $asynchronous, invocationID => $invocationID);
print Dumper($result);
};
if ($@) {
warn "Exception when calling ExcavatorApi->excavator: $@\n";
}
from __future__ import print_statement
import time
import openapi_client
from openapi_client.rest import ApiException
from pprint import pprint
# Create an instance of the API class
api_instance = openapi_client.ExcavatorApi()
dbName = dbName_example # String | The project name from where to get the ELF executable binary and put analysis results (compilable C source code) (default to null)
key = key_example # String | Access key to the PKM (optional, depending on server configuration) (default to null)
body = # InlineObject |
asynchronous = true # Boolean | flag to control asynchronous/synchronous execution of Excavator job (optional) (default to false)
invocationID = invocationID_example # String | invocation identifier (optional) (optional) (default to null)
try:
api_response = api_instance.excavator(dbName, key, body, asynchronous=asynchronous, invocationID=invocationID)
pprint(api_response)
except ApiException as e:
print("Exception when calling ExcavatorApi->excavator: %s\n" % e)
extern crate ExcavatorApi;
pub fn main() {
let dbName = dbName_example; // String
let key = key_example; // String
let body = ; // InlineObject
let asynchronous = true; // Boolean
let invocationID = invocationID_example; // String
let mut context = ExcavatorApi::Context::default();
let result = client.excavator(dbName, key, body, asynchronous, invocationID, &context).wait();
println!("{:?}", result);
}
Scopes
Parameters
Path parameters
Name | Description |
---|---|
dbName* |
String
The project name from where to get the ELF executable binary and put analysis results (compilable C source code)
Required
|
Header parameters
Name | Description |
---|---|
key* |
String
Access key to the PKM (optional, depending on server configuration)
Required
|
Body parameters
Name | Description |
---|---|
body * |
Query parameters
Name | Description |
---|---|
asynchronous |
Boolean
flag to control asynchronous/synchronous execution of Excavator job
|
invocationID |
String
invocation identifier (optional)
|
Responses
Name | Type | Format | Description |
---|---|---|---|
AccessMinusControlMinusAllowMinusOrigin | String | ||
AccessMinusControlMinusAllowMinusMethods | String | ||
AccessMinusControlMinusAllowMinusHeaders | String |
Name | Type | Format | Description |
---|---|---|---|
AccessMinusControlMinusAllowMinusOrigin | String | ||
AccessMinusControlMinusAllowMinusMethods | String | ||
AccessMinusControlMinusAllowMinusHeaders | String |
Name | Type | Format | Description |
---|---|---|---|
AccessMinusControlMinusAllowMinusOrigin | String | ||
AccessMinusControlMinusAllowMinusMethods | String | ||
AccessMinusControlMinusAllowMinusHeaders | String |
Name | Type | Format | Description |
---|---|---|---|
AccessMinusControlMinusAllowMinusOrigin | String | ||
AccessMinusControlMinusAllowMinusMethods | String | ||
AccessMinusControlMinusAllowMinusHeaders | String |
Name | Type | Format | Description |
---|---|---|---|
AccessMinusControlMinusAllowMinusOrigin | String | ||
AccessMinusControlMinusAllowMinusMethods | String | ||
AccessMinusControlMinusAllowMinusHeaders | String |
Name | Type | Format | Description |
---|---|---|---|
AccessMinusControlMinusAllowMinusOrigin | String | ||
AccessMinusControlMinusAllowMinusMethods | String | ||
AccessMinusControlMinusAllowMinusHeaders | String |