diff --git a/nlsr-sync-0.0/nlsr_adl.h b/nlsr-sync-0.0/nlsr_adl.h
new file mode 100755
index 0000000..5e9fa5a
--- /dev/null
+++ b/nlsr-sync-0.0/nlsr_adl.h
@@ -0,0 +1,51 @@
+#ifndef _NLSR_ADL_H_
+#define _NLSR_ADL_H_
+
+#define NBR_DOWN 0
+#define NBR_ACTIVE 1
+
+struct ndn_neighbor
+{
+	struct name_prefix *neighbor;
+	int face;
+	int status;
+	char * last_lsdb_version;
+	char * last_info_version;
+	int info_interest_timed_out;
+	int lsdb_interest_timed_out;
+	int lsdb_random_time_component;
+	long int lsdb_synch_interval;
+	long int last_lsdb_requested;
+	int is_lsdb_send_interest_scheduled;
+	int metric;
+};
+
+void add_nbr_to_adl(struct name_prefix *new_nbr,int face);
+void delete_nbr_from_adl(struct name_prefix *nbr);
+void print_adjacent(struct ndn_neighbor *nbr);
+void print_adjacent_from_adl(void);
+int get_adjacent_status(struct name_prefix *nbr);
+int get_timed_out_number(struct name_prefix *nbr);
+int get_lsdb_interest_timed_out_number(struct name_prefix *nbr);
+void update_adjacent_timed_out_to_adl(struct name_prefix *nbr, int increment);
+void update_adjacent_timed_out_zero_to_adl(struct name_prefix *nbr);
+void update_lsdb_interest_timed_out_to_adl(struct name_prefix *nbr, int increment);
+void update_lsdb_interest_timed_out_zero_to_adl(struct name_prefix *nbr);
+void update_adjacent_status_to_adl(struct name_prefix *nbr, int status);
+void update_lsdb_synch_interval_to_adl(struct name_prefix *nbr, long int interval);
+int no_active_nbr(void);
+int is_adj_lsa_build(void);
+void get_active_nbr_adj_data(struct ccn_charbuf *c);
+long int get_nbr_time_diff_lsdb_req(char *nbr);
+long int get_nbr_last_lsdb_requested(char *nbr);
+long int get_nbr_last_lsdb_requested(char *nbr);
+long int get_lsdb_synch_interval(char *nbr);
+int get_nbr_random_time_component(char *nbr);
+char * get_nbr_lsdb_version(char *nbr);
+void update_adjacent_last_lsdb_requested_to_adl(char *nbr, long int timestamp);
+void set_is_lsdb_send_interest_scheduled_to_zero(char *nbr);
+void update_adjacent_lsdb_version_to_adl(struct name_prefix *nbr, char *version);
+void adjust_adjacent_last_lsdb_requested_to_adl(char *nbr, long int sec);
+int get_next_hop_face_from_adl(char *nbr);
+int is_neighbor(char *nbr);
+#endif
