X-Git-Url: https://git.ozlabs.org/?p=ccan;a=blobdiff_plain;f=tools%2Fccanlint%2Flicenses.h;h=b921fa6279b3da5e1aa36ccae10a85ad5f7df2e3;hp=72b14d2516a47ba3faa030f0f937e9640c9ed5b1;hb=HEAD;hpb=4c1a5ebd8720c26e264c89f8256df02a93db683a diff --git a/tools/ccanlint/licenses.h b/tools/ccanlint/licenses.h index 72b14d25..b921fa62 100644 --- a/tools/ccanlint/licenses.h +++ b/tools/ccanlint/licenses.h @@ -1,6 +1,7 @@ #ifndef CCANLINT_LICENSES_H #define CCANLINT_LICENSES_H #include +#include enum license { LICENSE_LGPLv2_PLUS, @@ -13,6 +14,7 @@ enum license { LICENSE_GPL, LICENSE_BSD, LICENSE_MIT, + LICENSE_CC0, LICENSE_PUBLIC_DOMAIN, LICENSE_UNKNOWN }; @@ -22,16 +24,25 @@ enum license { struct license_info { const char *name; const char *shortname; + const char *describe; /* Edit distance is expensive, and this works quite well. */ const char *clause[NUM_CLAUSES]; }; /* Is [project license][file license] compatible? */ -bool license_compatible[LICENSE_UNKNOWN+1][LICENSE_UNKNOWN]; +extern bool license_compatible[LICENSE_UNKNOWN+1][LICENSE_UNKNOWN]; extern const struct license_info licenses[]; struct ccan_file; bool find_boilerplate(struct ccan_file *f, enum license license); +struct doc_section; +enum license which_license(struct doc_section *d); + +struct manifest; +struct doc_section *find_license_tag(const struct manifest *m); + +const char *get_license_oneliner(const tal_t *ctx, enum license license); + #endif /* CCANLINT_LICENSES_H */