Searching, please wait...


easy collect aircraft information
~50,000,000 registered contacts
303894 unique aircraft records, 28.78% unresolved records
 ACARS DECODER Planespotting Network Kinetic Avionics AirNav Systems Atlas Tracking
libhomeradar - easy collect aircraft informations

libhomeradar is an easy to use library for all type of programming language which can use libraries. libhomeradar can connect to different sources to collect aircraft informations arround the world with extended informations, powerful filtering and structured data access.

libhomeradar is written in C and is available for Linux and Windows (2003, XP, NT, Vista).

Currently libhomeradar works with the Kinetic Avionics SBS-1 base station and the Airnav Systems Radarbox.

Yahoo! My Web  Google Bookmarks  Windows Live  Facebook  Ask  Furl 

libhomeradar provides a lot of possible import functions. You can import contacts as strings (format must be acceptable), as struct (see LHR_CONTACT) or by plain data (all needed input is given with the function call).
There is a special function (see example below) to include datadumps (see writing contacts to disc) back into libhomeradar. All imported contacts will also use the normal way through libhomeradar (filtering, translation and callbacks)

PLEASE NOTE: Always call the homeradar_enable_import() before any import function. If you have no other hosts included (import only) you must also call the homeradar_without_hosts() function to get a valid hostid for the import.

libhomeradar - easy collect aircraft informations - Download example  Download this source
/* System includes */
#include <stdio.h>
#include <unistd.h>
#include <stdlib.h>
#include <string.h>

/* libhomeradar header include */
#include "libhomeradar.h"

/* Callback function to show aircraft informations */
void newcontact(void *handle,const int *id, LHR_CONTACT *C) {

  printf("%sContact: %s [%s]\nAirline: %s\nFlightnumber: %s  Callsign: %s\nSquawk: %d\n",
  printf("Aircraft: %s %s [%s] cn:%s\n",C->manufacturer,C->model,C->details,C->cn);
  printf("Routing: %s LAT: %0.5f LON: %0.5f\n",C->route,C->lat,C->lon);

  /* Get airport informations */
  P = C->airports;
  while (P) {
    if (P->airport) {
      printf("Airport [%s / %s] Name: %s, %s\n",
    } else printf("Unresolveable: %s\n",P->apcode);
    P = P->next;

  /* Free LHR_CONTACT struct */

/* Main program */
int main(int argc, char **argv) {
  int e;
  LHR H = homeradar_init(16,LHR_AUTOCONNECT,&e,NULL);

  /* No error */
  if (H == NULL) {
    printf("Error initializing libhomeradar. Errorcode #%d\n",e);
    return 255;
  /* Enable import functions */

  /* Start without external hosts */
  e = homeradar_without_hosts(H);

  /* Setup the event listener for the LHR_ONCONTACT event */
  if (homeradar_onhandler(H, LHR_ONCONTACT, e, newcontact)==0) {
    printf("Unable to add event listener\n");
  } else printf("Contact handler successfully installed\n");

  /* Load contacts from disc 
     The export type of dump2disc is always LHR_RADARBOX !
  (void)homeradar_readfromdisc(H, "./libhomeradar.export.txt", LHR_RADARBOX, e);

  /* Do nothing - in this example - loop will be finished after 5 minutes
     In your real program you can do now what you want */
  e = 50;
  while (e--) sleep(6);

  /* Shutdown libhomeradar and free all alocated memory */
  printf("Shutdown libhomeradar...\n");

  /* Return success */
  return 0;