Installs into .claude/skills of the current project.
Are you the author of Soapy Sdr?
Add the live security badge to your README. It updates with every re-scan.
[](https://www.skillsdirectory.com/skills/0dayinc-soapy-sdr)
---
name: pwn-ffi-soapysdr
description: Drive PWN::FFI::SoapySDR from pwn_eval.
license: MIT
allowed-tools: [pwn, pwn_eval]
metadata:
bundled: true
generated: true
module: PWN::FFI::SoapySDR
source: pwn/ffi/soapy_sdr.rb
---
# PWN::FFI::SoapySDR
Thin SoapySDR C-API binding (libSoapySDR). Inventory-focused first — enumerate devices and report API version so Extrospection `probe_rf` can list every Soapy-backed front-end (RTL-SDR, HackRF, Airspy, Pluto, UHD, …) without shelling out to `SoapySDRUtil`. Streaming: open/configure/start_rx/read_sync/stop_rx/close for CS16 I/Q so PWN::SDR::Decoder::Base.run_iq can true-air decode from ANY Soapy-backed front-end. Missing lib -> .available? false, callers fall back to pure Ruby / other PWN::FFI front-ends.
## When to use
Call `PWN::FFI::SoapySDR` from `pwn_eval` when the task needs this module.
Do not reimplement it in shell.
## Methodologies
Generated from `pwn/ffi/soapy_sdr.rb`. Prefer the public class methods below.
Class methods take `(opts = {})` and read `opts`.
## How to call
```ruby
PWN::FFI::SoapySDR.help
PWN::FFI::SoapySDR.available(opts)
```
## Public methods
- `available`
- `info`
- `list_devices`
- `make`
- `unmake`
- `device_keys`
- `open`
- `configure`
- `start_rx`
- `read_sync`
- `stop_rx`
- `close`
- `authors`
- `help`
- `SoapySDRDevice_activateStream`
- `SoapySDRDevice_closeStream`
- `SoapySDRDevice_deactivateStream`
- `SoapySDRDevice_enumerate`
- `SoapySDRDevice_getDriverKey`
- `SoapySDRDevice_getHardwareKey`
- `SoapySDRDevice_getStreamMTU`
- `SoapySDRDevice_lastError`
- `SoapySDRDevice_make`
- `SoapySDRDevice_makeStrArgs`
- `SoapySDRDevice_readStream`
- `SoapySDRDevice_setBandwidth`
- `SoapySDRDevice_setFrequency`
- `SoapySDRDevice_setGain`
- `SoapySDRDevice_setGainMode`
- `SoapySDRDevice_setSampleRate`
- `SoapySDRDevice_setupStream`
- `SoapySDRDevice_unmake`
- `SoapySDRKwargsList_clear`
- `SoapySDR_getABIVersion`
- `SoapySDR_getAPIVersion`
- `SoapySDR_getLibVersion`
- `available?`
- `load_error`
## Source
`pwn/ffi/soapy_sdr.rb`
## Verification
`PWN::FFI::SoapySDR.respond_to?(:available)` after the
module is loaded. Read the source for parameter names.