DeviceAPI

CalibrateSensor
CheckConnectedDevice
ClearLcd
ConvertImageToSoi
ConvertSoiToImage
CopyFileFromDevice
CopyFileToDevice
DecryptAesKeyWithPemPath
DecryptBioText32
DeleteFile
DeleteFileWithName
DeletePromoScreen
DeviceSearch
Echo
EnumerateDevices
EnumerateDevicesFilter
Free
FreeAll
GetBioData
GetButtonConfigColor
GetButtonConfigEnabled
GetButtonConfigKind
GetButtonConfigs
GetButtonConfigsInMode
GetButtonConfigVisible
GetCryptoIdDescription
GetCryptoIdPadCertLength
GetCryptoIdPadNotaryLength
GetDeviceCryptoIdInfo
GetDeviceCryptoIds
GetDeviceDisplayHeight
GetDeviceDisplayHeightInMillimeters
GetDeviceDisplayHeightSansButtonBar
GetDeviceDisplaySize
GetDeviceDisplaySizeSansBar
GetDeviceDisplayWidth
GetDeviceDisplayWidthInMillimeters
GetDeviceDisplayWidthSansButtonBar
GetDeviceFeatures
GetDeviceFirmwareVersion
GetDeviceFreeRamSize
GetDevicePadOpenState
GetDevicePixelSize
GetDeviceProductId
GetDeviceProductName
GetDeviceSerialNumber
GetDeviceState
GetDeviceTouchHeight
GetDeviceTouchWidth
GetDeviceTransPortProtocol
GetDeviceVendorId
GetDeviceVendorName
GetDriverXmlCertificate
GetEncryptedAesKey
GetFileInfoName
GetFileInfos
GetFileInfoSize
GetHello
GetLastSigError
GetSignatureCertificate
GetSignatureImageAlignment
GetSignatureImageAsHBitmap
GetSignatureImageAsPng
GetSignatureImageBackgroundColor
GetSignatureImageLineColor
GetSignatureImageLineWidth
GetSignatureImageResizeOption
GetSignatureNotaryInfo
GetSignaturePublicNotaryKey
GetSignatureRtcTime
GetSignedDocumentHash
GetSignFinishedIsEnabled
GetSignFinishedMillisecondsTimeout
GetSignTimeoutMilliseconds
RenameFileOnDevice
ResetDevice
SDialogClearDisplay
SDialogSetFontFromPath
SDialogSetImage
SDialogSetImageFromPath
SDialogSetMode
SDialogSetText
SDialogUpdateDisplay
SetAdminKeyToUnlockDevice
SetButtonCallback
SetButtonConfigColor
SetButtonConfigEnabled
SetButtonConfigs
SetButtonConfigVisible
SetCommunicationType
SetContinuousScrollCallback
SetContinuousScrollMode
SetContinuousScrollTile
SetContinuousScrollTileFromPath
SetContinuousScrollTileNumber
SetCustomerLogoMode
SetDevice
SetDeviceBrightness
SetDeviceCryptoId
SetDeviceDisplayOrientation
SetDeviceTransPortProtocol
SetDisconnectCallback
SetDocumentViewing
SetDocumentViewingFromPath
SetDriverLicenseString
SetDriverXmlCertificate
SetDriverXmlCertificateFromPath
SetFinalDocumentHash32
SetFinalDocumentHash32Async
SetFinalDocumentHash32Blocking
SetKeyForRealTimeDecryptionFromPemPath
SetLanguage
SetLanguageFromString
SetPalette
SetPenCallback
SetPreliminaryDocumentHash32
SetPromoScreenFromPath
SetSignatureImageAlignment
SetSignatureImageBackgroundColor
SetSignatureImageLineColor
SetSignatureImageLineWidth
SetSignatureImageResizeOption
SetSignatureRectangle
SetSignatureRectangleAndScrolling
SetSignatureRectangleStandard
SetSignatureRectangleWindow
SetSignBackground
SetSignBackgroundAndPageNumber
SetSignBackgroundFromPath
SetSignCertFromPkcs12Path
SetSignCertFromStore
SetSignCertToDefault
SetSignFinishedCallback
SetSignFinishedIsEnabled
SetSignFinishedMillisecondsTimeout
SetSignHasTimedOutCallback
SetSignImageChangedCallback
SetSignImageChangedMillisecondsThrottle
SetSignKeyFromPemPath
SetSignStartedCallback
SetSignText
SetSignTimeoutMilliseconds
StartSignatureMode
StopSignatureCapture
Subtract
UpdatePaletteColors


CalibrateSensor

Starts a sensor calibration.

int32_t CalibrateSensor(void);

Returns

0 in case of success.


CheckConnectedDevice

Checks whether a device is connected.

int32_t CheckConnectedDevice(intptr_t deviceName);

# Parameter Description
1 deviceName The name of the device as a character string.
Returns

Nonzero if the device is not connected.


ClearLcd

For devices with black and white display: Resets the signing background to a default image.

int32_t ClearLcd(void);

Returns

0 in case of success.


ConvertImageToSoi

Converts an image to a SOI image.

int32_t ConvertImageToSoi(intptr_t pathToImage, intptr_t pathToSoi);

# Parameter Description
1 pathToImage Path to the image as a character string.
2 pathToSoi Path to write the SOI to as a character string.
Returns

0 in case fo success.


ConvertSoiToImage

Converts images in SOI format to to BMP, JPG, PNG files

int32_t ConvertSoiToImage(intptr_t pathToSoi, intptr_t pathToImage);

# Parameter Description
1 pathToSoi The path to the SOI as a character string.
2 pathToImage The path to the output image as a character string.
Returns

0 in case of success.

Remarks

The file ending influences the output image format.


CopyFileFromDevice

Copies a file from the filesystem of the signature device to a local storage location.

int32_t CopyFileFromDevice(intptr_t deviceFileName, intptr_t path);

# Parameter Description
1 deviceFileName The name of the file on the device as a character string.
2 path The path to save the file to as a character string.
Returns

0 in case of success.


CopyFileToDevice

Copies a file from the local filesystem to the filesystem of the device.

int32_t CopyFileToDevice(intptr_t path, intptr_t deviceFileName);

# Parameter Description
1 path The path to the local file.
2 deviceFileName The name of the file on the device.
Returns

0 in case of success.


DecryptAesKeyWithPemPath

Decrypts the encrypted AES key by means of the preliminary document hash and a private RSA key.

intptr_t DecryptAesKeyWithPemPath(intptr_t encryptedAesKey, intptr_t preliminaryDocumentHash, intptr_t pemPath);

# Parameter Description
1 encryptedAesKey The encrypted AES key as length-prefixed octets.
2 preliminaryDocumentHash The preliminary document hash as length-prefixed octets.
3 pemPath The path to the PEM file containing the private RSA key.
Returns

The AES key, 32 octets. Null in case of error.

Remarks

See GetEncryptedAesKey.


DecryptBioText32

Decrypts the encrypted biodata text with the given AES key.

intptr_t DecryptBioText32(intptr_t bioText, intptr_t aesKey);

# Parameter Description
1 bioText The text.
2 aesKey The AES key, 32 octets.
Returns

The biodata text. Null in case of error.


DeleteFile

Deletes a file on the filesystem of the device.

int32_t DeleteFile(intptr_t fileInfo);

# Parameter Description
1 fileInfo A handle to a file info object.
Returns

0 in case of success.


DeleteFileWithName

Deletes a file on the filesystem of the device.

int32_t DeleteFileWithName(intptr_t fileName);

# Parameter Description
1 fileName The name of the file as a character string.
Returns

0 in case of success.

Remarks

The name of a file info object may be gotten through "GetFileInfoName".


DeletePromoScreen

Deletes a promoscreen from the device.

int32_t DeletePromoScreen(int32_t number, int32_t orientation);

# Parameter Description
1 number The number of the promoscreen ([0-9]).
2 orientation The orientation: default(0), upside down(1), 90°(2), 270°(3).
Returns

0 in case of success.

Remarks

Each display orientation can have its own sequence of promoscreens.


DeviceSearch

Search and select a device with a window.

intptr_t DeviceSearch(int32_t filter);

# Parameter Description
1 filter
Returns

Length-prefixed array of character strings.

Remarks

See EnumerateDevices.


Echo

For testing. Copies the given text and returns it.

intptr_t Echo(intptr_t text);

# Parameter Description
1 text The text as a character string.
Returns

A copy of the given text.


EnumerateDevices

Gets the names of the available devices.

intptr_t EnumerateDevices(void);

Returns

A length-prefixed array of character strings. Null in case of error or zero devices.

Remarks

The first element in the array contains the number of devices. The remaining elements are the adresses of character strings containing the device names.

Examples
                
             // C++
             // Fills the given container with the device names by means of the library instance mod.
             int EnumerateDevices(void* mod, std::vector<std::string>& devices)
             {
                 PtrPtr_ft enumerateDevices = (PtrPtr_ft)get_export(mod, "EnumerateDevices");
                 if (!enumerateDevices) return EXIT_FAILURE;
            
             	intptr_t** deviceNames = enumerateDevices();
                 if (NULL == deviceNames) return EXIT_FAILURE;
             
             	int number = (size_t)deviceNames[0];
             	intptr_t** entries = &deviceNames[1];
             	for (int k = 0; k < number; k++)
             	{
             		devices.push_back(std::string((char*)entries[k], std::allocator<char>()));
             	}
             	Free(mod, deviceNames);
             	return 0;
             } 
             
                                    

EnumerateDevicesFilter

Gets the names of the available filtered devices.

intptr_t EnumerateDevicesFilter(int32_t filter);

# Parameter Description
1 filter The device filter.
Returns

A length-prefixed character string pointer array. Null in case of error or zero devices.

Examples
                
            //C99
            enum deviceFilter {
                No,
                StepOver,
                TabletPc,
                Topaz,
                NaturaSignV1,
                SmartPhone,
                MSInkTablet,
                NaturaSignV3,
                NaturaSignColour,
                NaturaSignColourM,
                NaturaSignColourM2,
                NaturaSignMobile,
                NaturaSignFlawless,
                NaturaSignComfort,
                NaturaSignClassic,
                NaturaSignBiometric,
                NaturaSignMobile15,
                NaturaSignColorPad2,
                NaturaSignUniversal,
                NaturaSignBrilliance,
                DuraSignBiometric,
                NaturaSignColourBiometric,
                NaturaSignMobileBiometric,
                DuraSignGen13Standard,
                DuraSignGen13Biometric
            };
            
                                    

Free

Frees the object with the given address.

int32_t Free(intptr_t ptr);

# Parameter Description
1 ptr Pointer to the object.
Returns

0 in case of success


FreeAll

Frees all allocated objects.

int32_t FreeAll(void);

Returns

0 in case of success


GetBioData

Gets the biometric data.

intptr_t GetBioData(int32_t format);

# Parameter Description
1 format Pass 0.
Returns

A character string. Null in case of error.


GetButtonConfigColor

Gets the color of the button config.

int32_t GetButtonConfigColor(intptr_t buttonConfig);

# Parameter Description
1 buttonConfig The button config handle.
Returns

The color as 32-bit ARGB integer.


GetButtonConfigEnabled

Gets the enabled flag of the button config.

int32_t GetButtonConfigEnabled(intptr_t buttonConfig);

# Parameter Description
1 buttonConfig The button config handle.
Returns

Whether the enabled flag is set (1) or not (0).


GetButtonConfigKind

Gets the kind of the button config.

int32_t GetButtonConfigKind(intptr_t buttonConfig);

# Parameter Description
1 buttonConfig The button config handle.
Returns

The button kind: Unknown (0), Rotate (1), Next (2), Prev (3), Ok (4), Repeat (5), Cancel (6), ZoomIn (7), ZoomOut (8), StartSignature (9), Rotate90 (10).


GetButtonConfigs

Gets the button configurations in the current device mode.

intptr_t GetButtonConfigs(void);

Returns

The buffon configs as a length-prefixed array. Null in case of error.

Remarks

Use SetButtonConfigEnabled, SetButtonConfigVisble and SetButtonConfigColor to change the button configs. Use SetButtonConfigs send the changed button configs to the device.


GetButtonConfigsInMode

Gets the button configurations in the given device mode.

intptr_t GetButtonConfigsInMode(int32_t mode);

# Parameter Description
1 mode Which mode: standard signing mode (0), document viewing mode (5), document signing mode (6).
Returns

The buffon configs as a length-prefixed array. Null in case of error.

Remarks

See GetButtonConfigs().


GetButtonConfigVisible

Gets the visible flag of the button config.

int32_t GetButtonConfigVisible(intptr_t buttonConfig);

# Parameter Description
1 buttonConfig The button config handle.
Returns

Whether the visible flag is set (1) or not (0).


GetCryptoIdDescription

Gets the description of the given crypto ID object.

intptr_t GetCryptoIdDescription(intptr_t cryptoId);

# Parameter Description
1 cryptoId A handle to a crypto ID object. See GetDeviceAllCryptoIds.
Returns

The description. Null in case of error.


GetCryptoIdPadCertLength

Gets the pad cert length of the given crypto ID object.

int32_t GetCryptoIdPadCertLength(intptr_t cryptoId);

# Parameter Description
1 cryptoId A handle to a crypto ID object. See GetDeviceAllCryptoIds.
Returns

The length or a negative number in case of error.


GetCryptoIdPadNotaryLength

Gets the pad notary length of the given crypto ID object.

int32_t GetCryptoIdPadNotaryLength(intptr_t cryptoId);

# Parameter Description
1 cryptoId A handle to a crypto ID object. See GetDeviceAllCryptoIds.
Returns

The length or a negative number in case of error.


GetDeviceCryptoIdInfo

Gets the crypto ID information of the device as text.

intptr_t GetDeviceCryptoIdInfo(void);

Returns

The info as a character string. Null in case of error.


GetDeviceCryptoIds

Gets the available crypto IDs for the selected device.

intptr_t GetDeviceCryptoIds(void);

Returns

A length-prefixed array of crypto ID objects. Null in case of error or empty.


GetDeviceDisplayHeight

Gets the display height.

int32_t GetDeviceDisplayHeight(void);

Returns

The height. Negative in case of error.


GetDeviceDisplayHeightInMillimeters

Gets the display height.

double GetDeviceDisplayHeightInMillimeters(void);

Returns

The height in millimeters. Negative in case of error.


GetDeviceDisplayHeightSansButtonBar

Gets the display height sans the button bar.

int32_t GetDeviceDisplayHeightSansButtonBar(void);

Returns

The height. Negative in case of error.


GetDeviceDisplaySize

Gets the device display size with respect to the current orientation.

intptr_t GetDeviceDisplaySize(void);

Returns

The display size as structured memory. Null in case of error.

Examples
                
            // C99
            struct displaySize {
                int32_t width;
                int32_t height;
            };
            
                                    

GetDeviceDisplaySizeSansBar

Gets the device display size without the button bar with respect to the current orientation.

intptr_t GetDeviceDisplaySizeSansBar(void);

Returns

The display size as structured memory. Null in case of error.

Remarks

See GetDeviceDisplaySize.


GetDeviceDisplayWidth

Gets the display width.

int32_t GetDeviceDisplayWidth(void);

Returns

The width. Negative in case of error.


GetDeviceDisplayWidthInMillimeters

Gets the display width.

double GetDeviceDisplayWidthInMillimeters(void);

Returns

The width in millimeters. Negative in case of error.


GetDeviceDisplayWidthSansButtonBar

Gets the display width sans the button bar.

int32_t GetDeviceDisplayWidthSansButtonBar(void);

Returns

The width. Negative in case of error.


GetDeviceFeatures

Gets the device features.

intptr_t GetDeviceFeatures(void);

Returns

The device features as structured memory. Null in case of error.

Examples
                
            // C99. The device features struct
            struct deviceFeatures {
                int32_t Reserved;
                int32_t ColorDevice;
                int32_t PortraitMode;
                int32_t Empen;
                int32_t EmpenUpdate;
                int32_t ConfigPromoScreenDelay;
                int32_t SimpleDialog;
                int32_t ContinuousScrolling;
                int32_t SOIFormat;
                int32_t VCom;
                int32_t TouchConfig;
                int32_t EnhancedCryptoId;
                int32_t OpenStateDetection;
                int32_t BrightnessChange;
                int32_t InternalCLK;
            };
            
                                    

GetDeviceFirmwareVersion

Gets the firmware version of the device.

intptr_t GetDeviceFirmwareVersion(void);

Returns

The firmware version as a character string. Null if unknown or in case of error


GetDeviceFreeRamSize

Gets the free RAM size.

int32_t GetDeviceFreeRamSize(void);

Returns

The free RAM size. Negative in case of error.


GetDevicePadOpenState

Gets the open state.

int32_t GetDevicePadOpenState(void);

Returns

The open state. Negative in case of error.


GetDevicePixelSize

Gets the device pixel size with respect to the current orientation.

intptr_t GetDevicePixelSize(void);

Returns

The pixel size as structured memory. Compare with GetDisplaySize. Null in case of error.


GetDeviceProductId

Gets the product ID of the device.

int32_t GetDeviceProductId(void);

Returns

The product ID. Negative in case of error.


GetDeviceProductName

Gets the name of the device.

intptr_t GetDeviceProductName(void);

Returns

The name as a character string. Null if unknown or in case of error.


GetDeviceSerialNumber

Gets the serial number of the device.

intptr_t GetDeviceSerialNumber(void);

Returns

A character string or null in case of error.


GetDeviceState

Gets the device state.

intptr_t GetDeviceState(void);

Returns

The device state as structured memory. Null in case of error.

Examples
                
            // C99. The device state struct
            struct deviceState {
                int32_t IsValid;
                int32_t PadLocked;
                int32_t AdminKeySet;
                int32_t PreDocHashSet;
                int32_t FinalDocHashSet;
                int32_t AesContextSet;
                int32_t Mode;
                int32_t Rotated;
                int32_t RsaSignStatus;
                int32_t ButtonEvent;
                int32_t BatteryState;
                int32_t RotationButtonVisible;
                int32_t Brightness;
                int32_t OpenState;
                int32_t UserScriptExecutionState;
                int32_t ConfigurationState;
                int32_t ErrorFlags;
            };
            
                                    

GetDeviceTouchHeight

Gets the height of the touch pad.

int32_t GetDeviceTouchHeight(void);

Returns

The height. Negative in case of error.


GetDeviceTouchWidth

Gets the width of the touch pad.

int32_t GetDeviceTouchWidth(void);

Returns

The width. Negative in case of error.


GetDeviceTransPortProtocol

Gets the device Transport Protocol.

int32_t GetDeviceTransPortProtocol(void);

Returns

0 = USB-HID, 2 = VCOM, 1 = Not used, 3 = error


GetDeviceVendorId

Gets the vendor ID of the device.

int32_t GetDeviceVendorId(void);

Returns

The vendor ID. Negative in case of error.


GetDeviceVendorName

Gets the name of the device vendor.

intptr_t GetDeviceVendorName(void);

Returns

The vendor name as a character string. Null if unknown or in case of error


GetDriverXmlCertificate

Gets the driver xml certificate.

intptr_t GetDriverXmlCertificate(void);

Returns

A length-prefixed buffer.


GetEncryptedAesKey

Gets the encrypted AES key.

intptr_t GetEncryptedAesKey(void);

Returns

A length-prefixed buffer.

Remarks

The length prefix is a 32 bit integer.


GetFileInfoName

Gets the name of a file info object.

intptr_t GetFileInfoName(intptr_t fileInfo);

# Parameter Description
1 fileInfo A handle to a file info object.
Returns

A character string. Null in case of error.

Remarks

Handles to file info objects can be gotten with the function GetFileInfos.


GetFileInfos

Gets info on the files stored on the signature device.

intptr_t GetFileInfos(void);

Returns

A length-prefixed array of file info objects. Null in case of error or empty.

Remarks

The first element of the array contains the length prefix. For example: [ 2, firstAdress, secondAdress ].


GetFileInfoSize

Gets the size of a file info object.

int32_t GetFileInfoSize(intptr_t fileInfo);

# Parameter Description
1 fileInfo A handle to a file info object.
Returns

A nonnegative number. Negative in case of error.


GetHello

For testing. Gets a character string.

intptr_t GetHello(void);

Returns

"Hello"


GetLastSigError

For testing.

int32_t GetLastSigError(void);

Returns

An error code.


GetSignatureCertificate

intptr_t GetSignatureCertificate(int32_t swSign);

# Parameter Description
1 swSign
Returns


GetSignatureImageAlignment

Gets the alignment to use when the keepAspectRatio resize option is set.

int32_t GetSignatureImageAlignment(void);

Returns

0 in case of success.


GetSignatureImageAsHBitmap

Gets the signature image.

intptr_t GetSignatureImageAsHBitmap(int32_t width, int32_t height);

# Parameter Description
1 width The width.
2 height The height.
Returns

A handle to the HBitmap. Null in case of error.

Remarks

The given arguments are only used if certain resize options are set with SetSignatureImageResizeOption.


GetSignatureImageAsPng

Gets the signature image

intptr_t GetSignatureImageAsPng(int32_t width, int32_t height);

# Parameter Description
1 width The width.
2 height The height.
Returns

The length-prefixed octets of a PNG encoded image.

Remarks

The length prefix is a 32 bit integer.

Examples
                
            // C99, using the library instance mod
            ReadSignatureImage_t readSignatureImage = (ReadSignatureImage_t)get_export(mod, "GetSignatureImageAsPng");
            if (!readSignatureImage) return EXIT_FAILURE;
            intptr_t* lpPngImage = readSignatureImage(400, 400);
            if (NULL == lpPngImage) return -1;
            int32_t length = lpPngImage[0];
            char* imageData = 4 + (char*)lpPngImage; //"‰PNG...",
            // Consider to Free(lpPngImage) the image when it is not needed anymore.
            
                                    

GetSignatureImageBackgroundColor

Gets the signature image background color.

int32_t GetSignatureImageBackgroundColor(void);

Returns

The background color as a 32-bit ARGB integer.


GetSignatureImageLineColor

Gets the color of the signature line.

int32_t GetSignatureImageLineColor(void);

Returns

The color as a 32-bit ARGB integer.


GetSignatureImageLineWidth

Gets the signature image line width.

double GetSignatureImageLineWidth(void);

Returns

The line width in arbitrary units.


GetSignatureImageResizeOption

Gets the signature image resize options.

int32_t GetSignatureImageResizeOption(void);

Returns

The resize options in arbitrary units.


GetSignatureNotaryInfo

Gets the notary information.

intptr_t GetSignatureNotaryInfo(void);

Returns

The notary information as character string.


GetSignaturePublicNotaryKey

Gets the public notary key.

intptr_t GetSignaturePublicNotaryKey(void);

Returns

The public notary key as length-prefixed octets.


GetSignatureRtcTime

Gets the time from the RTC of the signature device.

int64_t GetSignatureRtcTime(void);

Returns

Unix time in milliseconds. Negative in case of error.


GetSignedDocumentHash

Gets the signed document hash.

intptr_t GetSignedDocumentHash(void);

Returns

A length-prefixed buffer.

Remarks

The length prefix is a 32 bit integer.


GetSignFinishedIsEnabled

Gets the SignFinishedEnabled flag.

int32_t GetSignFinishedIsEnabled(void);

Returns

Whether the SignFinished callback shall called (1) or not(0).


GetSignFinishedMillisecondsTimeout

Gets the duration after which the SignFinished callback is called.

int32_t GetSignFinishedMillisecondsTimeout(void);

Returns

The duration in milliseconds.


GetSignTimeoutMilliseconds

Gets the duration in milliseconds after which the SignHasTimedOut callback is called. Negative values deactivate the event. This is the default.

int32_t GetSignTimeoutMilliseconds(void);

Returns

0 in case of success.


RenameFileOnDevice

Renames a file stored on the signature device.

int32_t RenameFileOnDevice(intptr_t oldFileName, intptr_t newFileName);

# Parameter Description
1 oldFileName The old file name.
2 newFileName The new file name.
Returns


ResetDevice

Resets all device options that are not persisted to the permanent storage of the device.

int32_t ResetDevice(void);

Returns

0 in case of success.


SDialogClearDisplay

Clears display buffers in the simple dialog mode.

int32_t SDialogClearDisplay(int32_t buffer);

# Parameter Description
1 buffer Which buffer to clear: The current buffer (1), the shadow buffer (2) or both (3).
Returns

0 in case of success.


SDialogSetFontFromPath

Sets the font to be used for writing text in the simple dialog mode.

int32_t SDialogSetFontFromPath(intptr_t path, int32_t loadOption);

# Parameter Description
1 path The path to the SOF file.
2 loadOption Whether to reuse a cached version of the image from the device storage (0) or to upload a new image (1).
Returns

0 in case of success.


SDialogSetImage

Sets an image to the selected image buffer at the desired location.

int32_t SDialogSetImage(intptr_t image, int32_t column, int32_t row, int32_t buffer);

# Parameter Description
1 image The length-prefixed image octets.
2 column The column of the upper left corner of the image.
3 row The row of the upper left corner of the image.
4 buffer The dispay buffer to write to: 0(shadow buffer), 1(current buffer).
Returns

0 in case of success.


SDialogSetImageFromPath

Sets an image to the desired location in the simple dialog mode.

int32_t SDialogSetImageFromPath(intptr_t path, int32_t column, int32_t row, int32_t buffer, int32_t loadOption);

# Parameter Description
1 path The path to the image file.
2 column The column of the upper left corner of the image.
3 row The row of the upper left corner of the image.
4 buffer The dispay buffer to write to: shadow buffer(0), current buffer(1).
5 loadOption Whether to reuse a cached version of the image from the device storage (0) or to upload a new image (1).
Returns

0 in case of success.


SDialogSetMode

Sets the signature device to simple dialog mode, if the device supports it.

int32_t SDialogSetMode(void);

Returns

0 in case of success.

Remarks

The simple dialog mode allows to run a customized graphical user interface on the device. The displayed graphics consist of text fields and images. User input is done is with the pen Pen events can be received through a callback. See SetPenCallback. To record a signature in the simple dialog mode call StartSignatureMode(14).


SDialogSetText

Writes a text field in the simple dialog mode.

int32_t SDialogSetText(intptr_t text, int32_t column, int32_t row, int32_t textColor, int32_t backgroundColor);

# Parameter Description
1 text The text to write.
2 column The column of the upper left corner of the text field.
3 row The row of the upper left corner of the text field.
4 textColor The foreground color of the text.
5 backgroundColor The background color of the text field
Returns

0 in case of success.


SDialogUpdateDisplay

Updates the dialog in simple dialog mode.

int32_t SDialogUpdateDisplay(int32_t copyBufferOption);

# Parameter Description
1 copyBufferOption Whether to overwrite the shadow buffer (1) or not (0).
Returns

0 in case of success.

Remarks

Apart from the visible buffer, the simple dialog mode also has a shadow buffer. This shadow buffer can be used to prepare several graphical elements and then render all of them in one step with an update. When the display is to be updated one can either overwrite the shadow buffer with the contents in the currently visible buffer or not. To be used in conjunction with SDialogSetImage, SDialogSetImageFromPath, SDialogSetText.


SetAdminKeyToUnlockDevice

Performing restricted operations with the device require it to be unnlocked with an adminKey.

int32_t SetAdminKeyToUnlockDevice(intptr_t adminKey);

# Parameter Description
1 adminKey The admin key as a character string.
Returns

0 in case of success.


SetButtonCallback

Sets the callback to call when a button is clicked on the device.

int32_t SetButtonCallback(/* void( *)(intptr_t) */ intptr_t fptr);

# Parameter Description
1 fptr The callback.
Returns

0

Examples
                
            // C99
            struct buttonEvent {
                int32_t kind;
            };
            
            enum buttonkind {
                unknown,
                rotate,
                next,
                prev,
                ok,
                repeat,
                cancel,
                zoomIn,
                zoomOut,
                startSignature,
                rotate90
            };
            
                                    

SetButtonConfigColor

Sets the color of the button config.

int32_t SetButtonConfigColor(intptr_t buttonConfig, int32_t color);

# Parameter Description
1 buttonConfig The button config handle.
2 color The color as 32-bit ARGB integer.
Returns

0 in case of success.


SetButtonConfigEnabled

Sets the enabled flag of the button config.

int32_t SetButtonConfigEnabled(intptr_t buttonConfig, int32_t enabled);

# Parameter Description
1 buttonConfig The button config handle.
2 enabled Whether the button shall be enabled (1) or not (0).
Returns

0 in case of success.


SetButtonConfigs

Sets the button configuration.

int32_t SetButtonConfigs(intptr_t buttonConfigs, int32_t persist);

# Parameter Description
1 buttonConfigs The button configuration returned by GetButtonConfigs.
2 persist Whether the configuration shall be persisted to the device (1) or not (0).
Returns

0 in case of success.


SetButtonConfigVisible

Sets the visible flag of the button config.

int32_t SetButtonConfigVisible(intptr_t buttonConfig, int32_t visible);

# Parameter Description
1 buttonConfig The button config handle.
2 visible Whether the button shall be visible (1) or not (0).
Returns

0 in case of success.


SetCommunicationType

Can set the communication type to TCP.

int32_t SetCommunicationType(int32_t comType, intptr_t address, int32_t port);

# Parameter Description
1 comType The communication type: TCP(1).
2 address The address.
3 port The port.
Returns

0 in case of success.

Remarks

This allows to control a signature device over TCP/IP. The signature device has to be connected to the remote computer with the given address. The remote computer requires dedicated software to share the signature device.


SetContinuousScrollCallback

Sets the callback to call when new tiles have to be sent to the device in the continuous scroll mode.

int32_t SetContinuousScrollCallback(/* void( *)(intptr_t) */ intptr_t fptr);

# Parameter Description
1 fptr The callback.
Returns

0

Remarks

A pointer to structured memory is passed to the callback.

Examples
                
            // C99
            struct scrollEvent {
                int32_t isPageNumber;
                int32_t number;
            };
            
                                    

SetContinuousScrollMode

Sets the device to the continuous scroll mode.

int32_t SetContinuousScrollMode(int32_t numberOfPages, int32_t numberOfTiles, int32_t startTileNumber, int32_t startTileOffset, intptr_t buttonText, int32_t tileWidth, int32_t tileHeight);

# Parameter Description
1 numberOfPages The number of pages of the document.
2 numberOfTiles The number of tiles the document is to be split up into.
3 startTileNumber This tile number is requested first.
4 startTileOffset Scrolls the first tile down.
5 buttonText The text inside the button.
6 tileWidth The width of a tile /pixels. Recommended width: 992.
7 tileHeight The height of a tile /pixels. Recommended height: 702.
Returns

0 in case of success.


SetContinuousScrollTile

Sets a continuous scroll tile.

int32_t SetContinuousScrollTile(intptr_t image, int32_t tileNumber, int32_t pageNumber, int32_t numberOfTiles);

# Parameter Description
1 image The image as length-prefixed octets.
2 tileNumber The tile number.
3 pageNumber The page number.
4 numberOfTiles The number of tiles.
Returns

0 in case of success.


SetContinuousScrollTileFromPath

Sets a continuous scroll tile.

int32_t SetContinuousScrollTileFromPath(intptr_t path, int32_t tileNumber, int32_t pageNumber, int32_t numberOfTiles);

# Parameter Description
1 path The path to an image as a character string.
2 tileNumber The tile number.
3 pageNumber The page number.
4 numberOfTiles The number of tiles.
Returns

0 in case of success.


SetContinuousScrollTileNumber

Sets the continuous scroll tile number in the continuous scroll mode.

int32_t SetContinuousScrollTileNumber(int32_t tileNumber, int32_t numberOfTiles, int32_t offset);

# Parameter Description
1 tileNumber The tile number.
2 numberOfTiles The maximum Tile number.
3 offset The offset
Returns

0 in case of success.


SetCustomerLogoMode

Sets the device to customer logo mode.

int32_t SetCustomerLogoMode(void);

Returns

0 in case of success.


SetDevice

Sets the device to control.

int32_t SetDevice(intptr_t deviceName);

# Parameter Description
1 deviceName The device name.
Returns

0 in case of success.

Remarks

Device names may be gotten through the function EnumerateDevices.


SetDeviceBrightness

Sets the device brightness.

int32_t SetDeviceBrightness(int32_t brightness);

# Parameter Description
1 brightness The brightness from 0 to 100.
Returns

0 in case of success.


SetDeviceCryptoId

Sets the cryptoId to use with the selected device.

int32_t SetDeviceCryptoId(intptr_t cryptoId);

# Parameter Description
1 cryptoId A handle to a crypto ID object. See GetDeviceAllCryptoIds.
Returns

0 in case of success.


SetDeviceDisplayOrientation

Sets the display orientation.

int32_t SetDeviceDisplayOrientation(int32_t orientation);

# Parameter Description
1 orientation The orientation: default(0), upside down(1), 90°(2), 270°(3).
Returns

0 in case of success.


SetDeviceTransPortProtocol

Sets the device Transport Protocol. Note : do not enter 1 as parameter

int32_t SetDeviceTransPortProtocol(int32_t protocol);

# Parameter Description
1 protocol protocol = 0 is usb, protocol = 2 is Vcom.
Returns

0 in case of success. and 1 incase of error


SetDisconnectCallback

Sets the callback to call when the selected device has been disconnected.

int32_t SetDisconnectCallback(/* void( *)(void) */ intptr_t callback);

# Parameter Description
1 callback The callback.
Returns

0


SetDocumentViewing

Show an image with the device display.

int32_t SetDocumentViewing(intptr_t image, int32_t pageNumber, int32_t numberOfPages);

# Parameter Description
1 image The image as length-prefixed octets..
2 pageNumber The page number.
3 numberOfPages The number of pages.
Returns

0 in case of success.


SetDocumentViewingFromPath

Show an image with the device display.

int32_t SetDocumentViewingFromPath(intptr_t path, int32_t pageNumber, int32_t numberOfPages);

# Parameter Description
1 path The path to the image as a character string.
2 pageNumber The page number.
3 numberOfPages The number of pages.
Returns

0 in case of success.


SetDriverLicenseString

Sets the driver license.

int32_t SetDriverLicenseString(intptr_t license);

# Parameter Description
1 license The license text.
Returns

0 in case of success.


SetDriverXmlCertificate

Sets the driver XML certificate

int32_t SetDriverXmlCertificate(intptr_t path);

# Parameter Description
1 path The path to the driver XML certificate file.
Returns

0 in case of success.

Remarks

Without a valid license, a warning popup may appear when starting signature processes.


SetDriverXmlCertificateFromPath

Sets the driver XML certificate.

int32_t SetDriverXmlCertificateFromPath(intptr_t path);

# Parameter Description
1 path The path to the file as a character string.
Returns

0 in case of success.

Remarks

Setting a good certificate is mandatory on Linux, OSX. On windows, this prevents the popup window.


SetFinalDocumentHash32

Sets the final document hash.

int32_t SetFinalDocumentHash32(intptr_t _32octets, int32_t swSign);

# Parameter Description
1 _32octets A pointer to a buffer of 32 octets.
2 swSign Pass a nonzero number if software signing shall be used.
Returns

0 in case of success


SetFinalDocumentHash32Async

Sets the final document hash.

int32_t SetFinalDocumentHash32Async(intptr_t _32octets, int32_t swSign, /* void( *)(intptr_t) */ intptr_t callback);

# Parameter Description
1 _32octets A pointer to a buffer of 32 octets.
2 swSign Pass a nonzero number if software signing shall be used.
3 callback The callback to call when the operation succeeds and can pass a result to the callback.
Returns

0 in case of success

Remarks

The cryptographic signature is done by the signature device provided the device supports it and a zero swSign argument is given. In that case, the operation may only end successfully when a button is clicked on the signature device. Then, the callback is called with the result. See SetFinalDocumentHash32Blocking.


SetFinalDocumentHash32Blocking

Sets the final document hash. This is a blocking version of SetFinalDocumentHash32Async.

intptr_t SetFinalDocumentHash32Blocking(intptr_t _32octets, int32_t swSign);

# Parameter Description
1 _32octets A pointer to a buffer of 32 octets.
2 swSign Pass a nonzero number if software signing shall be used.
Returns

The result as structured memory in case of success.

Examples
                
            // C99
            struct setFinalDocHashResult {
                int32_t error;
                int32_t buttonClicked;
                int32_t buttonKind;
            };
            
                                    

SetKeyForRealTimeDecryptionFromPemPath

Sets the private RSA key to be used for for the decryption of the biometrical data being recorded by the signature device from a PEM file.

int32_t SetKeyForRealTimeDecryptionFromPemPath(intptr_t pemPath);

# Parameter Description
1 pemPath The path to the PEM file.
Returns

0 in case of success.

Remarks

The kind of files that can be parsed with this are text files that start with lines like -----BEGIN RSA PRIVATE KEY----- and -----BEGIN PRIVATE KEY----- if it contains a private RSA key.


SetLanguage

Sets the language of the device search window.

int32_t SetLanguage(int32_t language);

# Parameter Description
1 language A language code.
Returns

0

Remarks

The codes are 0 -> English, 1 -> French, 2 -> German, 3 -> Spanish, 4 -> Italian, 5 -> Russian.


SetLanguageFromString

Sets the language of the device search Window.

int32_t SetLanguageFromString(intptr_t language);

# Parameter Description
1 language The name of the language as a character string.
Returns

0

Remarks

Available languages are "English", "French", "German", "Spanish", "Italian", "Russian".


SetPalette

It is used to switch palette for G15 DuraSignMobile pad

int32_t SetPalette(int32_t buffer, int32_t startLineNo, int32_t endLineNo, int32_t xStartPosPalette0, int32_t xStartPosPalette1);

# Parameter Description
1 buffer Selects the buffer in which to switch palette.
2 startLineNo The Line no (y axis) in pixel where palette switch is started.
3 endLineNo The Line no (y axis) in pixel where palette switch is ended.
4 xStartPosPalette0 The pixel pos in x axis where palette0 switch is started.
5 xStartPosPalette1 The pixel pos in x axis where palette1 switch is started.
Returns

0 in case of success.

Remarks

Note 1 : This Api is applicable only for g15 or DuraSignMobile pad Note 2 : SelectBuf.Both is also applicable only to g15 or DuraSignPad


SetPenCallback

Sets the callback to call when the pen is used in the "simple dialog mode".

int32_t SetPenCallback(/* void( *)(intptr_t) */ intptr_t fptr);

# Parameter Description
1 fptr The callback.
Returns

0

Remarks

The parameter of the callback is the adress to a structure holding three 32 bit integers: x, y, type.


SetPreliminaryDocumentHash32

Sets the preliminary document hash.

int32_t SetPreliminaryDocumentHash32(intptr_t _32octets);

# Parameter Description
1 _32octets A pointer to a buffer having 32 octets.
Returns

0 in case of success.


SetPromoScreenFromPath

Sets promoscreen, that is, an image to be shown in customer logo mode.

int32_t SetPromoScreenFromPath(intptr_t path, int32_t number, int32_t orientation, int32_t screenTime);

# Parameter Description
1 path The path to the image file.
2 number The number between 1 and 10.
3 orientation The orientation: default(0), upside down(1), 90°(2), 270°(3).
4 screenTime How long this screen shall be displayed in s.
Returns


SetSignatureImageAlignment

Sets the alignment to use when the KeepAspectRatio resize option is set.

int32_t SetSignatureImageAlignment(int32_t alignment);

# Parameter Description
1 alignment The alignment: default(0), left(1), right(2), top(4), bottom(8), centered(16).
Returns

0 in case of success.

Remarks

Resize options may be set with SetSignatureImageResizeOption. A top-left alignment can be achieved with 5 = 4 | 1.


SetSignatureImageBackgroundColor

Sets the background color of the signature image.

int32_t SetSignatureImageBackgroundColor(int32_t backgroundColor);

# Parameter Description
1 backgroundColor The background color as a 32-bit ARGB integer.
Returns

0 in case of success.


SetSignatureImageLineColor

Sets the color of the signature line.

int32_t SetSignatureImageLineColor(int32_t lineColor);

# Parameter Description
1 lineColor The color as a 32-bit ARGB integer.
Returns

0 in case of success.


SetSignatureImageLineWidth

Sets the line width of the signature line.

int32_t SetSignatureImageLineWidth(double lineWidth);

# Parameter Description
1 lineWidth The width.
Returns

0 in case of success.

Examples
                
            // C99
            double thinner = 0.9 * GetSignatureImageLineWidth();
            SetSignatureImageLineWidth(thinner);
            
                                    

SetSignatureImageResizeOption

Changes how the signature image is to be resized.

int32_t SetSignatureImageResizeOption(int32_t resizeOption);

# Parameter Description
1 resizeOption The resize options: default(0), crop(1), stretch(2), keepAspectRatio(4), embedIntoSignBackground(8).
Returns

0 in case of success.

Remarks

Crop may be combined with stretch (3 = 2 | 1) and keepAspectRatio ( 5 = 4 | 1).


SetSignatureRectangle

Sets the signature rectangle.

int32_t SetSignatureRectangle(int32_t left, int32_t top, int32_t width, int32_t height);

# Parameter Description
1 left The left margin /pixel.
2 top The upper margin /pixel
3 width The width /pixel.
4 height The height /pixel.
Returns

0 in case of success.


SetSignatureRectangleAndScrolling

Advanced signature rectangle setter intended for document signing mode.

int32_t SetSignatureRectangleAndScrolling(int32_t left, int32_t top, int32_t width, int32_t height, int32_t scrollColumn, int32_t scrollRow, int32_t scrollOption, int32_t scrollCorrect);

# Parameter Description
1 left The column of the left edge of the rectangle /pixel.
2 top The row of the upper edge of the rectangle /pixel.
3 width The width of the rectangle /pixel.
4 height The height of the rectangle /pixel.
5 scrollColumn Scrolls the left edge of the signature rectangle together with the background image to the given column /pixel.
6 scrollRow Scrolls the lower edge of the signature rectangle together with the background image to the given row/pixel.
7 scrollOption One can switch off the scrolling for both dimensions with this option.
8 scrollCorrect For DocSign. Corrects the scroll position of the set signature retcangle.
Returns


SetSignatureRectangleStandard

Sets the standard signature rectangle, if any.

int32_t SetSignatureRectangleStandard(void);

Returns

0 in case of success.


SetSignatureRectangleWindow

Sets the signature rectangle and attaches it to a window.

int32_t SetSignatureRectangleWindow(int32_t left, int32_t top, int32_t width, int32_t height, intptr_t windowHandle);

# Parameter Description
1 left The left margin /pixel.
2 top The upper margin /pixel
3 width The width /pixel.
4 height The height /pixel.
5 windowHandle The window handle.
Returns

0 in case of success.


SetSignBackground

Sets the image to use as signing background.

int32_t SetSignBackground(intptr_t image);

# Parameter Description
1 image The image as length-prefixed octets.
Returns

0 in case of success.


SetSignBackgroundAndPageNumber

Sets the image to use as signing background and the page number text.

int32_t SetSignBackgroundAndPageNumber(intptr_t image, int32_t page, int32_t numberOfPages);

# Parameter Description
1 image The image as length-prefixed octets.
2 page The page numbers.
3 numberOfPages The number of pages.
Returns

0 in case of success.

Remarks

Some devices will display the page number as in the form "page/totalNumberOfPages".


SetSignBackgroundFromPath

Sets the image to use as signing background.

int32_t SetSignBackgroundFromPath(intptr_t path);

# Parameter Description
1 path The path to the image as a character string.
Returns

0 in case of success.


SetSignCertFromPkcs12Path

Sets a signing key that is gotten from a PKCS12 file.

int32_t SetSignCertFromPkcs12Path(intptr_t p12Path, intptr_t password);

# Parameter Description
1 p12Path The path to the file as a character string.
2 password
Returns

0 in case of success.

Remarks

Common file name endings of PKCS12 files are: P12, PFX.


SetSignCertFromStore

Sets a signing key that is gotten from the local certificate store.

int32_t SetSignCertFromStore(intptr_t commonName);

# Parameter Description
1 commonName The common name of the certificate as a character string.
Returns

0 in case of success.


SetSignCertToDefault

Resets the default signing behaviour.

int32_t SetSignCertToDefault(void);

Returns

0 in case of success.


SetSignFinishedCallback

Sets the callback to call when a signature capturing stopped.

int32_t SetSignFinishedCallback(/* void( *)(void) */ intptr_t callback);

# Parameter Description
1 callback The callback.
Returns

0


SetSignFinishedIsEnabled

Sets the SignFinishedEnabled flag.

int32_t SetSignFinishedIsEnabled(int32_t enabled);

# Parameter Description
1 enabled Whether the SignFinished callback shall called (1) or not(0).
Returns

0 in case of success.


SetSignFinishedMillisecondsTimeout

Sets the duration in milliseconds after which the SignFinished callback is called.

int32_t SetSignFinishedMillisecondsTimeout(int32_t duration);

# Parameter Description
1 duration The duration in milliseconds.
Returns

0 in case of success.


SetSignHasTimedOutCallback

Sets the callback to call when the signer does not start to draw for a certain timespan. The timespan is infinite by default.

int32_t SetSignHasTimedOutCallback(/* void( *)(void) */ intptr_t callback);

# Parameter Description
1 callback The callback.
Returns

0


SetSignImageChangedCallback

Sets the callback to call when the signature image has changed.

int32_t SetSignImageChangedCallback(/* void( *)(void) */ intptr_t fptr);

# Parameter Description
1 fptr The callback.
Returns

0


SetSignImageChangedMillisecondsThrottle

Allows to throttle the invocations of the SignImageChanged callback.

int32_t SetSignImageChangedMillisecondsThrottle(int32_t interval);

# Parameter Description
1 interval The interval in milliseconds
Returns

1 in case of success


SetSignKeyFromPemPath

Sets a signing key that is gotten from a PEM file.

int32_t SetSignKeyFromPemPath(intptr_t pemPath);

# Parameter Description
1 pemPath
Returns

0 in case of success.


SetSignStartedCallback

Sets the callback to call when the signer starts to draw a signature.

int32_t SetSignStartedCallback(/* void( *)(void) */ intptr_t callback);

# Parameter Description
1 callback The callback.
Returns

0


SetSignText

For devices with black and white display: Renders the given text as a background image in the signature mode.

int32_t SetSignText(intptr_t text, int32_t fontSize);

# Parameter Description
1 text The text.
2 fontSize The fontsize.
Returns

0 in case of success.

Remarks

For devices with black and white display. This function overwrites the background image set through SetSignBackground.


SetSignTimeoutMilliseconds

Sets the duration in milliseconds after which the SignHasTimedOut callback is called. Negative values deactivate the event. This is the default.

int32_t SetSignTimeoutMilliseconds(int32_t duration);

# Parameter Description
1 duration The duration in milliseconds.
Returns

0 in case of success.


StartSignatureMode

Starts a signature mode.

int32_t StartSignatureMode(int32_t signMode);

# Parameter Description
1 signMode The sign mode: standard(0), docSign(6), simpleDialog(14).
Returns

0 in case of success


StopSignatureCapture

Stops the signature capture.

int32_t StopSignatureCapture(void);

Returns

0 in case of success.


Subtract

For testing. Subtracts b from a and returns the result.

int32_t Subtract(int32_t a, int32_t b);

# Parameter Description
1 a a
2 b b
Returns

a - b


UpdatePaletteColors

It is used to switch palette for G15 DuraSignMobile pad

int32_t UpdatePaletteColors(int32_t buffer, intptr_t _12octets);

# Parameter Description
1 buffer Selects the buffer in which to switch palette.
2 startLineNo The Line no (y axis) in pixel where palette switch is started.
3 endLineNo The Line no (y axis) in pixel where palette switch is ended.
4 xStartPosPalette0 The pixel pos in x axis where palette0 switch is started.
5 xStartPosPalette1 The pixel pos in x axis where palette1 switch is started.
Returns

0 in case of success.

Remarks

Note 1 : This Api is applicable only for g15 or DuraSignMobile pad Note 2 : SelectBuf.Both is also applicable only to g15 or DuraSignPad