![]() System : Linux absol.cf 5.4.0-198-generic #218-Ubuntu SMP Fri Sep 27 20:18:53 UTC 2024 x86_64 User : www-data ( 33) PHP Version : 7.4.33 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare, Directory : /usr/include/libnl3/netlink/ |
Upload File : |
/* * netlink/object.c Generic Cacheable Object * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation version 2.1 * of the License. * * Copyright (c) 2003-2012 Thomas Graf <tgraf@suug.ch> */ #ifndef NETLINK_OBJECT_H_ #define NETLINK_OBJECT_H_ #include <netlink/netlink.h> #include <netlink/utils.h> #ifdef __cplusplus extern "C" { #endif struct nl_cache; struct nl_object; struct nl_object_ops; #define OBJ_CAST(ptr) ((struct nl_object *) (ptr)) /* General */ extern struct nl_object * nl_object_alloc(struct nl_object_ops *); extern int nl_object_alloc_name(const char *, struct nl_object **); extern void nl_object_free(struct nl_object *); extern struct nl_object * nl_object_clone(struct nl_object *obj); extern int nl_object_update(struct nl_object *dst, struct nl_object *src); extern void nl_object_get(struct nl_object *); extern void nl_object_put(struct nl_object *); extern int nl_object_shared(struct nl_object *); extern void nl_object_dump(struct nl_object *, struct nl_dump_params *); extern void nl_object_dump_buf(struct nl_object *, char *, size_t); extern int nl_object_identical(struct nl_object *, struct nl_object *); extern uint32_t nl_object_diff(struct nl_object *, struct nl_object *); extern uint64_t nl_object_diff64(struct nl_object *, struct nl_object *); extern int nl_object_match_filter(struct nl_object *, struct nl_object *); extern char * nl_object_attrs2str(struct nl_object *, uint32_t attrs, char *buf, size_t); extern char * nl_object_attr_list(struct nl_object *, char *, size_t); extern void nl_object_keygen(struct nl_object *, uint32_t *, uint32_t); /* Marks */ extern void nl_object_mark(struct nl_object *); extern void nl_object_unmark(struct nl_object *); extern int nl_object_is_marked(struct nl_object *); /* Access Functions */ extern int nl_object_get_refcnt(struct nl_object *); extern struct nl_cache * nl_object_get_cache(struct nl_object *); extern const char * nl_object_get_type(const struct nl_object *); extern int nl_object_get_msgtype(const struct nl_object *); struct nl_object_ops * nl_object_get_ops(const struct nl_object *); uint32_t nl_object_get_id_attrs(struct nl_object *obj); static inline void * nl_object_priv(struct nl_object *obj) { return obj; } #ifdef __cplusplus } #endif #endif