From: Stefan Schantl Date: Wed, 2 Oct 2019 17:10:21 +0000 (+0200) Subject: perl: Add function to perform AS number lookups. X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=8d4f5f679f9719566189dd920f3cfecdd6976be4;p=people%2Fsennis%2Flibloc.git perl: Add function to perform AS number lookups. Signed-off-by: Stefan Schantl Signed-off-by: Michael Tremer --- diff --git a/src/perl/Location.xs b/src/perl/Location.xs index cdbc7e7..b6c4dc5 100644 --- a/src/perl/Location.xs +++ b/src/perl/Location.xs @@ -113,6 +113,29 @@ lookup_country_code(db, address) OUTPUT: RETVAL +SV* +lookup_asn(db, address) + struct loc_database* db; + char* address; + + CODE: + RETVAL = &PL_sv_undef; + + // Lookup network + struct loc_network *network; + int err = loc_database_lookup_from_string(db, address, &network); + if (!err) { + // Extract the ASN + unsigned int as_number = loc_network_get_asn(network); + if (as_number > 0) { + RETVAL = newSViv(as_number); + } + + loc_network_unref(network); + } + OUTPUT: + RETVAL + void DESTROY(db) struct loc_database* db;