#ifndef _NLSR_NDN_H_
#define _NLSR_NDN_H_

struct upcalldata {
     int magic; /* 856372 */
     long *counter;
     unsigned warn;
     int flags;
     int n_excl;
     struct ccn_charbuf **excl; /* Array of n_excl items */
};

int send_lsdb_interest(struct ccn_schedule *sched, void *clienth, struct ccn_scheduled_event *ev, int flags);

enum ccn_upcall_res incoming_interest(struct ccn_closure *selfp, enum ccn_upcall_kind kind, struct ccn_upcall_info *info);
void process_incoming_interest(struct ccn_closure *selfp, struct ccn_upcall_info *info);
void process_incoming_interest_lsdb(struct ccn_closure *selfp, struct ccn_upcall_info *info);


enum ccn_upcall_res incoming_content(struct ccn_closure* selfp, enum ccn_upcall_kind kind, struct ccn_upcall_info* info);

#endif

