Initial template structure from nostr_core_lib

- Complete C library template with OpenSSL-based crypto
- Comprehensive build system (Makefile, build.sh)
- Example code and test suite
- Documentation and usage guides
- Cross-platform compatibility (x64/ARM64)
- Production-ready structure for C library projects
This commit is contained in:
2025-08-14 15:10:59 -04:00
parent 0ace93e303
commit c109c93382
1920 changed files with 227925 additions and 3398 deletions

View File

@@ -0,0 +1,90 @@
.\" generated by cd2nroff 0.1 from curl-config.md
.TH curl-config 1 "2025-08-14" curl-config
.SH NAME
curl\-config \- Get information about a libcurl installation
.SH SYNOPSIS
\fBcurl\-config [options]\fP
.SH DESCRIPTION
\fBcurl\-config\fP
displays information about the curl and libcurl installation.
.SH OPTIONS
.IP --ca
Displays the built\-in path to the CA cert bundle this libcurl uses.
.IP --cc
Displays the compiler used to build libcurl.
.IP --cflags
Set of compiler options (CFLAGS) to use when compiling files that use
libcurl. Currently that is only the include path to the curl include files.
.IP "--checkfor [version]"
Specify the oldest possible libcurl version string you want, and this script
returns 0 if the current installation is new enough or it returns 1 and
outputs a text saying that the current version is not new enough. (Added in
7.15.4)
.IP --configure
Displays the arguments given to configure when building curl.
.IP --feature
Lists what particular main features the installed libcurl was built with. At
the time of writing, this list may include SSL, KRB4 or IPv6. Do not assume
any particular order. The keywords are separated by newlines. There may be
none, one, or several keywords in the list.
.IP --help
Displays the available options.
.IP --libs
Shows the complete set of libs and other linker options you need in order to
link your application with libcurl.
.IP --prefix
This is the prefix used when libcurl was installed. libcurl is then installed
in $prefix/lib and its header files are installed in $prefix/include and so
on. The prefix is set with \fIconfigure \--prefix\fP.
.IP --protocols
Lists what particular protocols the installed libcurl was built to support. At
the time of writing, this list may include HTTP, HTTPS, FTP, FTPS, FILE,
TELNET, LDAP, DICT and many more. Do not assume any particular order. The
protocols are listed using uppercase and are separated by newlines. There may
be none, one, or several protocols in the list. (Added in 7.13.0)
.IP --ssl-backends
Lists the SSL backends that were enabled when libcurl was built. It might be
no, one or several names. If more than one name, they appear comma\-separated.
(Added in 7.58.0)
.IP --static-libs
Shows the complete set of libs and other linker options you need in order to
link your application with libcurl statically. (Added in 7.17.1)
.IP --version
Outputs version information about the installed libcurl.
.IP --vernum
Outputs version information about the installed libcurl, in numerical mode.
This shows the version number, in hexadecimal, using 8 bits for each part:
major, minor, and patch numbers. This makes libcurl 7.7.4 appear as 070704 and
libcurl 12.13.14 appear as 0c0d0e... Note that the initial zero might be
omitted. (This option was broken in the 7.15.0 release.)
.SH EXAMPLES
What linker options do I need when I link with libcurl?
.nf
$ curl-config --libs
.fi
What compiler options do I need when I compile using libcurl functions?
.nf
$ curl-config --cflags
.fi
How do I know if libcurl was built with SSL support?
.nf
$ curl-config --feature | grep SSL
.fi
What\(aqs the installed libcurl version?
.nf
$ curl-config --version
.fi
How do I build a single file with a one\-line command?
.nf
$ `curl-config --cc --cflags` -o example source.c `curl-config --libs`
.SH SEE ALSO
.BR curl (1)

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,111 @@
.\" generated by cd2nroff 0.1 from wcurl.md
.TH wcurl 1 "2025-08-14" wcurl
.SH NAME
\fBwcurl\fP \- a simple wrapper around curl to easily download files.
.SH SYNOPSIS
\fBwcurl <URL>...\fP
\fBwcurl [\--curl\-options <CURL_OPTIONS>]... [\--dry\-run] [\--no\-decode\-filename] [\-o|\-O|\--output <PATH>] [\--] <URL>...\fP
\fBwcurl [\--curl\-options=<CURL_OPTIONS>]... [\--dry\-run] [\--no\-decode\-filename] [\--output=<PATH>] [\--] <URL>...\fP
\fBwcurl \-V|\--version\fP
\fBwcurl \-h|\--help\fP
.SH DESCRIPTION
\fBwcurl\fP is a simple curl wrapper which lets you use curl to download files
without having to remember any parameters.
Simply call \fBwcurl\fP with a list of URLs you want to download and \fBwcurl\fP
picks sane defaults.
If you need anything more complex, you can provide any of curl\(aqs supported
parameters via the \fB\--curl\-options\fP option. Just beware that you likely
should be using curl directly if your use case is not covered.
By default, \fBwcurl\fP does:
.IP "* Percent-encode whitespaces in URLs;"
.IP "* Download multiple URLs in parallel"
.nf
if the installed curl's version is \>= 7.66.0 (--parallel);
.fi
.IP "* Follow redirects;"
.IP "* Automatically choose a filename as output;"
.IP "* Avoid overwriting files"
.nf
if the installed curl's version is \>= 7.83.0 (--no-clobber);
.fi
.IP "* Perform retries;"
.IP "* Set the downloaded file timestamp"
.nf
to the value provided by the server, if available;
.fi
.IP "* Default to https"
.nf
if the URL does not contain any scheme;
.fi
.IP "* Disable curl's URL globbing parser"
.nf
so {} and [] characters in URLs are not treated specially;
.fi
.IP "* Percent-decode the resulting filename;"
.IP "* Use 'index.html' as the default filename"
.nf
if there is none in the URL.
.fi
.SH OPTIONS
.IP "--curl-options, --curl-options=\<CURL_OPTIONS\>..."
Specify extra options to be passed when invoking curl. May be specified more
than once.
.IP "-o, -O, --output, --output=\<PATH\>"
Use the provided output path instead of getting it from the URL. If multiple
URLs are provided, resulting files share the same name with a number appended to
the end (curl >= 7.83.0). If this option is provided multiple times, only the
last value is considered.
.IP --no-decode-filename
Don\(aqt percent\-decode the output filename, even if the percent\-encoding in the
URL was done by \fBwcurl\fP, e.g.: The URL contained whitespaces.
.IP --dry-run
Do not actually execute curl, just print what would be invoked.
.IP "-V, \--version"
Print version information.
.IP "-h, \--help"
Print help message.
.SH CURL_OPTIONS
Any option supported by curl can be set here. This is not used by \fBwcurl\fP; it
is instead forwarded to the curl invocation.
.SH URL
URL to be downloaded. Anything that is not a parameter is considered
an URL. Whitespaces are percent\-encoded and the URL is passed to curl, which
then performs the parsing. May be specified more than once.
.SH EXAMPLES
Download a single file:
\fBwcurl example.com/filename.txt\fP
Download two files in parallel:
\fBwcurl example.com/filename1.txt example.com/filename2.txt\fP
Download a file passing the \fB\--progress\-bar\fP and \fB\--http2\fP flags to curl:
\fBwcurl \--curl\-options="\--progress\-bar \--http2" example.com/filename.txt\fP
Resume from an interrupted download (if more options are used, this needs to
be the last one in the list):
\fBwcurl \--curl\-options="\--continue\-at \-" example.com/filename.txt\fP
.SH AUTHORS
.nf
Samuel Henrique \<samueloph@debian.org\>
Sergio Durigan Junior \<sergiodj@debian.org\>
and many contributors, see the AUTHORS file.
.fi
.SH REPORTING BUGS
If you experience any problems with \fBwcurl\fP that you do not experience with
curl, submit an issue on Github: https://github.com/curl/wcurl
.SH COPYRIGHT
\fBwcurl\fP is licensed under the curl license
.SH SEE ALSO
.BR curl (1),
.BR trurl (1)