All Projects → sharvil → Flingfd

sharvil / Flingfd

Licence: other
A tiny library to send file descriptors across processes

Programming Languages

c
50402 projects - #5 most used programming language

Labels

Projects that are alternatives of or similar to Flingfd

React Files
A file input (dropzone) management component for React
Stars: ✭ 126 (-21.25%)
Mutual labels:  file
Ansible Role Nfs
Ansible Role - NFS
Stars: ✭ 141 (-11.87%)
Mutual labels:  file
File Loader
File Loader
Stars: ✭ 1,846 (+1053.75%)
Mutual labels:  file
Python Pytest Cases
Separate test code from test cases in pytest.
Stars: ✭ 127 (-20.62%)
Mutual labels:  file
Hrconvert2
A self-hosted, drag-and-drop, & nosql file conversion server that supports 62x file formats.
Stars: ✭ 132 (-17.5%)
Mutual labels:  file
Open file
A plug-in that can call native APP to open files with string result in flutter, support iOS(UTI) / android(intent) / PC(ffi) / web(dart:html)
Stars: ✭ 145 (-9.37%)
Mutual labels:  file
Laravel Filemanager
Media gallery with CKEditor, TinyMCE and Summernote support. Built on Laravel file system.
Stars: ✭ 1,688 (+955%)
Mutual labels:  file
Isobmff
C++ Library for ISO/IEC 14496-12 - ISO Base Media File Format (QuickTime, MPEG-4, HEIF, etc)
Stars: ✭ 157 (-1.87%)
Mutual labels:  file
Desktop
An Open-Source file sharing software for Linux, macOS and Windows allowing you to send and receive files over available connections, and pause and resume transfer process even when an error is given
Stars: ✭ 139 (-13.12%)
Mutual labels:  file
Filesystem
FileSystem is an application that allows you to browse the content of your iPhone disk, displaying file and folders, files contents, and detailed informations about file and folder permissions.
Stars: ✭ 148 (-7.5%)
Mutual labels:  file
Vidir
edit directory in $EDITOR (better than vim . with netrw)
Stars: ✭ 129 (-19.37%)
Mutual labels:  file
Fileio.jl
Main Package for IO, loading all different kind of files
Stars: ✭ 133 (-16.87%)
Mutual labels:  file
Flametree
🔥 Python file and zip operations made easy
Stars: ✭ 148 (-7.5%)
Mutual labels:  file
Rollup Plugin Copy
Copy files and folders using Rollup
Stars: ✭ 128 (-20%)
Mutual labels:  file
Go Logger
一个简单而强大的 golang 日志工具包,支持同步和异步输出到 命令行,文件, api 接口,文件支持按文件大小,文件行数,日期切分;A simple and powerful golang logging toolkit that supports synchronous and asynchronous output to the console, file, API interfaces, file support by file size, file line number, date sharding.
Stars: ✭ 152 (-5%)
Mutual labels:  file
Jquery Filepond
🔌 A handy FilePond wrapper for jQuery
Stars: ✭ 124 (-22.5%)
Mutual labels:  file
Go Cache
This project encapsulates multiple db servers, redis、ledis、memcache、file、memory、nosql、postgresql
Stars: ✭ 143 (-10.62%)
Mutual labels:  file
Pervane
Plain text file based note taking and knowledge base building tool, markdown editor, simple browser IDE.
Stars: ✭ 159 (-0.62%)
Mutual labels:  file
Clog
Package clog is a channel-based logging package for Go
Stars: ✭ 151 (-5.62%)
Mutual labels:  file
Cachego
Golang Cache component - Multiple drivers
Stars: ✭ 148 (-7.5%)
Mutual labels:  file

flingfd

flingfd is a small, standalone C library to pass file descriptors across processes on Linux.

Installation

By default, flingfd installs in /usr/local. If you want to change where it gets installed, edit the PREFIX in the Makefile.

  $ make && sudo make install

Documentation

The library consists of two functions declared in flingfd.h:

  bool flingfd_simple_send(const char *path, int fd);
  int flingfd_simple_recv(const char *path);

When you want to send a file descriptor, call flingfd_simple_send and receive it in the other process with flingfd_simple_recv. Make sure you use the same path argument in both processes -- that determines which process gets the file descriptor.

Here's an example of sending stdout to another process:

  #include <flingfd.h>

  void send_my_stdout() {
    int fd = fileno(stdout);
    flingfd_simple_send("/tmp/some_unique_path", fd);
  }

And here's the other process writing to the sender's stdout:

  #include <flingfd.h>

  void write_to_their_stdout() {
    int fd = flingfd_simple_recv("/tmp/some_unique_path");
    write(fd, "Hello world\n", 12);
  }

When you're done writing your code, link against the library with -lflingfd.

Bindings

License

Apache 2.0

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].