All Projects → curl → fcurl

curl / fcurl

Licence: MIT license
fcurl - fopen, fread, fwrite style functions for URL operations using libcurl

Programming Languages

c
50402 projects - #5 most used programming language
Makefile
30231 projects
shell
77523 projects
M4
1887 projects

Projects that are alternatives of or similar to fcurl

Firedm
python open source (Internet Download Manager) with multi-connections, high speed engine, based on python, LibCurl, and youtube_dl https://github.com/firedm/FireDM
Stars: ✭ 977 (+3268.97%)
Mutual labels:  libcurl
Curlsharp
CurlSharp - .Net binding and object-oriented wrapper for libcurl.
Stars: ✭ 153 (+427.59%)
Mutual labels:  libcurl
curl4delphi
A little libcURL binding for Delphi XE2+. Supports “easy” interface only. See wiki for more documentation.
Stars: ✭ 64 (+120.69%)
Mutual labels:  libcurl
Curlpp
C++ wrapper around libcURL
Stars: ✭ 1,055 (+3537.93%)
Mutual labels:  libcurl
Ymhttp
基于 libcurl 的 IO 多路复用 HTTP 框架,适用于 iOS 平台,支持 HTTP/HTTPS/HTTP2/DNS(SNI)
Stars: ✭ 127 (+337.93%)
Mutual labels:  libcurl
Lua Curlv3
Lua binding to libcurl
Stars: ✭ 197 (+579.31%)
Mutual labels:  libcurl
Everything Curl
The book documenting the curl project, the curl tool, libcurl and everything related to this.
Stars: ✭ 885 (+2951.72%)
Mutual labels:  libcurl
libopenTIDAL
TIDAL API interface written in ANSI C
Stars: ✭ 17 (-41.38%)
Mutual labels:  libcurl
Epsxe64ubuntu
Install ePSXe Linux (x64) & shaders using BIOS HLE and Core Plugins on x86-64 Debian, Ubuntu, Linux Mint and their derivatives.
Stars: ✭ 130 (+348.28%)
Mutual labels:  libcurl
RB-libcURL
A Realbasic and Xojo binding to libcurl
Stars: ✭ 19 (-34.48%)
Mutual labels:  libcurl
Pymarketcap
Python3 API wrapper and web scraper for https://coinmarketcap.com
Stars: ✭ 73 (+151.72%)
Mutual labels:  libcurl
Katipo
HTTP2 client for Erlang based on libcurl and libevent
Stars: ✭ 90 (+210.34%)
Mutual labels:  libcurl
Saldl
A lightweight well-featured CLI downloader optimized for speed and early preview.
Stars: ✭ 203 (+600%)
Mutual labels:  libcurl
Gmod Chttp
A HTTP()-compatible wrapper for curl in Garry's Mod.
Stars: ✭ 39 (+34.48%)
Mutual labels:  libcurl
WinHttpPAL
WinHttpPAL is a C++ library which implements WinHttp API for POSIX systems using libcurl
Stars: ✭ 53 (+82.76%)
Mutual labels:  libcurl
Cht.exe
cht.sh libcurl client for windows XP+ with changed colorization
Stars: ✭ 15 (-48.28%)
Mutual labels:  libcurl
Teemo
C++ File Download Library.
Stars: ✭ 177 (+510.34%)
Mutual labels:  libcurl
fortran-curl
Fortran 2008 interface bindings to libcurl
Stars: ✭ 25 (-13.79%)
Mutual labels:  libcurl
WebShellManager
WebShellManager build on cpp with libcurl
Stars: ✭ 23 (-20.69%)
Mutual labels:  libcurl
Build Openssl Curl
Scripts to build OpenSSL, HTTP/2 (nghttp2) and cURL (libcurl) for MacOS, iOS and tvOS devices (x86_64, armv7, armv7s, arm64, arm64e). Now Supporting Apple Silicon, OpenSSL 1.1.1 with TLS 1.3 and Mac Catalyst builds.
Stars: ✭ 230 (+693.1%)
Mutual labels:  libcurl

fcurl

The fopen, fread, fwrite et all functions are common and a standard "idiom" in many C programs.

By providing fcurl* functions with the same general behavior as the file based versions, but instead allowing URLs where file names are otherwise used, this is an attempt to allow existing file-based applications to switch over to read and write files over common internet protocols instead.

API

Maybe something like this?

FCURL *fcurl_open(const char *path, const char *mode);

size_t fcurl_read(void *ptr, size_t size, size_t nmemb, FCURL *stream);

size_t fcurl_write(const void *ptr, size_t size, size_t nmemb,
                   FCURL *stream);

int fcurl_flush(FCURL *stream);

int fcurl_close(FCURL *stream);

int fcurl_getc(FCURL *stream);

char *fcurl_gets(char *s, int size, FCURL *stream);

int fcurl_ungetc(int c, FCURL *stream);

int fcurl_seek(FCURL *stream, long offset, int whence);

long fcurl_tell(FCURL *stream);

void fcurl_rewind(FCURL *stream);

int fcurl_getpos(FCURL *stream, fpos_t *pos);

int fcurl_setpos(FCURL *stream, const fpos_t *pos);
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].