SDK directories

The SDK contains the following directories:

  • /appnotes: Source code of working example implementations including demo configurations where needed

    • /appnotes/c_sharp: Use BRP Communication Library via C#
    • /appnotes/secure_communcations: Establish an encrypted communication channel to the reader using AES 128
    • /appnotes/tcp_server.c: Implement your application as an Ethernet server including X.509-certificate-based encryption
    • /appnotes/tcp_client.c: Implement your application as an Ethernet client.
      No encryption included here - please see /appnotes/secure_communcations for AES-128 and /appnotes/tcp_server.c for X.509 certificate
    • /appnotes/vhl: Wait for a card and read/write data to/from it via the high-level VHL interface
    • /appnotes/udp_introspection.c: Find a reader via UDP introspection
    • /appnotes/usb_hid: Access a reader via USB HID
    • /appnotes/usb_cdc: Access a reader via RS-232 or USB-CDC (i.e. virtual COM port)

    Here's how you can try the app notes to get started using the SDK.

  • /baltech_api: Language specific implementation of the BALTECH API wrapper that provides a function/method for every command or configuration value provided by the API of the reader. This wrapper uses BRP Communication Library to send the respective commands.

    These files are generated by a code generator. Don't change them!

    • /baltech_api/c: Contains the central header file baltech_api.h and the corresponding source file baltech_api.c
    • /baltech_api/c/cmds: Contains the header files for all reader commands. These files are included by baltech_api.h
  • /brp_lib: Source code and header files of the (language-agnostic) BRP Communication Library

    • /brp_lib/inc: Header files (/brp_lib/inc/brp_lib.h is the main file to include)
    • /brp_lib/src: Source code
    • /brp_lib/tests: Unit tests for the modules of BRP Communication Library. These tests are written in Python 3.6 and need the following extension modules: M2Cryptocall_made, pytest v3.3.2call_made, and headlockcall_made.
    • /brp_lib/thirdparty: Third-party open-source code libraries needed to build BRP Communication Library
  • /binaries: This directory contains Windows binaries and libraries for 32bit (/binaries/win32) and 64bit (/binaries/win64) Applications.

    • /binaries/winXX/Release: Binaries for app notes (see also folder /appnotes) and the dynamically linked libraries brp_lib.dll and BrpDriver.dll.
    • /binaries/winXX/static-libs/Release: Static libraries brp_lib.lib and BrpDriver.lib plus the BALTECH API library baltech_api.lib.
  • /legacy_wrapper: Windows DLL that wraps brp_lib so it provides a compatible interface to the SDK predecessor BrpDriver.dll (learn more)

    • /legacy_wrapper/inc: Header files of the wrapper. They're the same as in the original BrpDriver package.
    • /legacy_wrapper/src: Wrapper source code that maps the BrpDriver API to the brp_lib API