#include <assert.h>
#include <endian.h>
#include <errno.h>
+#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <loc/libloc.h>
-#include <loc/as.h>
#include <loc/network.h>
#include <loc/private.h>
unsigned int prefix;
char country_code[3];
-
- struct loc_as* as;
+ uint32_t asn;
};
LOC_EXPORT int loc_network_new(struct loc_ctx* ctx, struct loc_network** network,
static void loc_network_free(struct loc_network* network) {
DEBUG(network->ctx, "Releasing network at %p\n", network);
- if (network->as)
- loc_as_unref(network->as);
-
loc_unref(network->ctx);
free(network);
}
return 0;
}
+LOC_EXPORT uint32_t loc_network_get_asn(struct loc_network* network) {
+ return network->asn;
+}
+
+LOC_EXPORT int loc_network_set_asn(struct loc_network* network, uint32_t asn) {
+ network->asn = asn;
+
+ return 0;
+}
+
LOC_EXPORT int loc_network_to_database_v0(struct loc_network* network, struct loc_database_network_v0* dbobj) {
dbobj->prefix = htobe16(network->prefix);
}
// Add ASN
- uint32_t asn = 0;
- if (network->as) {
- asn = loc_as_get_number(network->as);
- }
- dbobj->asn = htobe32(asn);
+ dbobj->asn = htobe32(network->asn);
return 0;
}