NOAAPORT
Functions
dvbs_multicast.c File Reference

Ingest a NOAAPORT stream to a shared-memory FIFO. More...

Functions

int main (const int argc, char *const argv[])
 Captures NOAAPORT broadcast UDP packets from a DVB-S or DVB-S2 receiver and writes the data into a shared-memory FIFO or an LDM product-queue. More...
 

Detailed Description

Ingest a NOAAPORT stream to a shared-memory FIFO.

Copyright 2018, University Corporation for Atmospheric Research All rights reserved. See file COPYRIGHT in the top-level source-directory for copying and redistribution conditions.

Function Documentation

◆ main()

int main ( const int  argc,
char *const  argv[] 
)

Captures NOAAPORT broadcast UDP packets from a DVB-S or DVB-S2 receiver and writes the data into a shared-memory FIFO or an LDM product-queue.

Usage:

dvbs_multicast [-dmnrvx] [-b <em>npage</em>] [-l <em>log</em>] [-q <em>queue</em>] [-I <em>interface</em>] <em>mcastAddr</em>\n

Where:

-b npage

Use npage as the size, in pages, for the shared-memory FIFO. The number of bytes in a page can be found via the command "getconf PAGE_SIZE".

-d

Write the UDP packet data directly into the LDM product-queue rather than into the shared-memory FIFO. Note that the LDM data-products so created will consist of the individual data packets rather than the higher-level NOAAPORT data-products.

-I interface

Listen for broadcast UDP packets on interface interface. The default is to listen on all interfaces.

-l log

Log to log. if log is "-", then logging occurs to the standard error stream; otherwise, log is the pathname of a file to which logging will occur. If not specified, then log messages will go to the system logging daemon.

-m

Create a non-private shared-memory FIFO and write data to it (the normal case). If not specified, then a private shared-memory FIFO will be created and a child process will be spawned to read from it (the test case).

-n

Log messages of level NOTICE and higher priority.

-q queue

Use queue as the pathname of the LDM product-queue. The default is to use the default LDM pathname of the product-queue.

-p niceness

Set the priority of this process to niceness. Negative values have higher priority. Not normally done.

-r

Attempt to set this process to the highest priority using the POSIX round-robin real-time scheduler. Not usually done.

-v

Log messages of level INFO and higher priority. This will log information on every received UDP packet.

-x

Log messages of level DEBUG and higher priority.

mcastAddr
Multicast address of the UDP packets to listen for (e.g., "224.0.1.1").
Return values
0if successful.
1if an error occurred. At least one error-message is logged.