X-Git-Url: https://git.m6w6.name/?p=m6w6%2Fext-psi;a=blobdiff_plain;f=src%2Ftypes%2Fdecl.h;h=1ab42f57867d7aa27764d554264f090dbd0f67d6;hp=b7af24176ef27dddbce06670b13039e4b7ac977b;hb=c9384515a81cb64d345b299908b2852f51bb8e6e;hpb=9bcb1df0786a8193d65949c857baaba2f4296e84 diff --git a/src/types/decl.h b/src/types/decl.h index b7af241..1ab42f5 100644 --- a/src/types/decl.h +++ b/src/types/decl.h @@ -35,20 +35,21 @@ struct psi_decl { struct psi_decl_abi *abi; struct psi_decl_arg *func; struct psi_plist *args; + char *redir; void *sym; void *info; unsigned varargs:1; }; -struct psi_decl *psi_decl_init(struct psi_decl_abi *abi, struct psi_decl_arg *func, struct psi_plist *args); +struct psi_decl *psi_decl_init(struct psi_decl_arg *func, struct psi_plist *args); void psi_decl_free(struct psi_decl **d_ptr); void psi_decl_dump(int fd, struct psi_decl *decl); -bool psi_decl_validate(struct psi_data *data, struct psi_decl *decl, void *dl); -bool psi_decl_validate_nodl(struct psi_data *data, struct psi_decl *decl); +bool psi_decl_validate(struct psi_data *data, struct psi_decl *decl, struct psi_validate_scope *scope); +bool psi_decl_validate_nodl(struct psi_data *data, struct psi_decl *decl, struct psi_validate_scope *scope); -static inline struct psi_decl_arg *psi_decl_get_arg(struct psi_decl *decl, struct psi_decl_var *var) { - return psi_decl_arg_get_by_var(var, decl->args, decl->func); -} +struct psi_decl_arg *psi_decl_get_arg(struct psi_decl *decl, struct psi_decl_var *var); + +bool psi_decl_is_blacklisted(const char *name); #endif