13 #ifndef DFSAN_INTERFACE_H
14 #define DFSAN_INTERFACE_H
114 template <
typename T>
static __inline__ uint16_t
size_t dfsan_get_label_count(void)
Returns the number of labels allocated.
void dfsan_flush(void)
Flushes the DFSan shadow, i.e.
dfsan_label dfsan_create_label(const char *desc, void *userdata)
Creates and returns a base label with the given description and user data.
dfsan_label dfsan_union(dfsan_label l1, dfsan_label l2)
Computes the union of l1 and l2, possibly creating a union label in the process.
void dfsan_set_label(dfsan_label label, void *addr, size_t size)
Sets the label for each address in [addr,addr+size) to label.
int dfsan_has_label(dfsan_label label, dfsan_label elem)
Returns whether the given label label contains the label elem.
void dfsan_weak_hook_strncmp(void *caller_pc, const char *s1, const char *s2, size_t n, dfsan_label s1_label, dfsan_label s2_label, dfsan_label n_label)
void dfsan_set_write_callback(dfsan_write_callback_t labeled_write_callback)
Sets a callback to be invoked on calls to write().
void(* dfsan_write_callback_t)(int fd, const void *buf, size_t count)
Signature of the callback argument to dfsan_set_write_callback().
void dfsan_weak_hook_memcmp(void *caller_pc, const void *s1, const void *s2, size_t n, dfsan_label s1_label, dfsan_label s2_label, dfsan_label n_label)
Interceptor hooks.
dfsan_label dfsan_read_label(const void *addr, size_t size)
Retrieves the label associated with the data at the given address.
void dfsan_add_label(dfsan_label label, void *addr, size_t size)
Sets the label for each address in [addr,addr+size) to the union of the current label for that addres...
const struct dfsan_label_info * dfsan_get_label_info(dfsan_label label)
Retrieves a pointer to the dfsan_label_info struct for the given label.
dfsan_label dfsan_get_label(long data)
Retrieves the label associated with the given data.
void dfsan_dump_labels(int fd)
Writes the labels currently used by the program to the given file descriptor.
dfsan_label dfsan_has_label_with_desc(dfsan_label label, const char *desc)
If the given label label contains a label with the description desc, returns that label,...
Stores information associated with a specific label identifier.