plptools
Loading...
Searching...
No Matches
packet.cc File Reference
#include "config.h"
#include <pthread.h>
#include <string>
#include <cstring>
#include <fstream>
#include <iomanip>
#include <stdio.h>
#include <stdlib.h>
#include <sys/param.h>
#include <unistd.h>
#include <sys/time.h>
#include <sys/types.h>
#include <errno.h>
#include <sys/ioctl.h>
#include <termios.h>
#include <signal.h>
#include "link.h"
#include "mp_serial.h"
#include "ncp_log.h"
#include "packet.h"
Include dependency graph for packet.cc:

Go to the source code of this file.

Macros

#define BUFLEN   4096
 
#define BUFMASK   (BUFLEN-1)
 
#define hasSpace(dir)   (((dir##Write + 1) & BUFMASK) != dir##Read)
 
#define hasData(dir)   (dir##Write != dir##Read)
 
#define inca(idx, amount)
 
#define inc1(idx)   inca(idx, 1)
 
#define normalize(idx)   do { idx &= BUFMASK; } while (0)
 
#define BAUD_TABLE_SIZE   (sizeof(baud_table) / sizeof(int))
 

Functions

static void usr1handler (int sig)
 Signal handler does nothing. More...
 
static void * pump_run (void *arg)
 

Variables

static unsigned short pumpverbose = 0
 
static const int baud_table []
 

Macro Definition Documentation

◆ BAUD_TABLE_SIZE

#define BAUD_TABLE_SIZE   (sizeof(baud_table) / sizeof(int))

Definition at line 158 of file packet.cc.

◆ BUFLEN

#define BUFLEN   4096

Definition at line 45 of file packet.cc.

◆ BUFMASK

#define BUFMASK   (BUFLEN-1)

Definition at line 46 of file packet.cc.

◆ hasData

#define hasData (   dir)    (dir##Write != dir##Read)

Definition at line 48 of file packet.cc.

◆ hasSpace

#define hasSpace (   dir)    (((dir##Write + 1) & BUFMASK) != dir##Read)

Definition at line 47 of file packet.cc.

◆ inc1

#define inc1 (   idx)    inca(idx, 1)

Definition at line 52 of file packet.cc.

◆ inca

#define inca (   idx,
  amount 
)
Value:
do { \
idx = (idx + amount) & BUFMASK; \
} while (0)
#define BUFMASK
Definition: packet.cc:46

Definition at line 49 of file packet.cc.

◆ normalize

#define normalize (   idx)    do { idx &= BUFMASK; } while (0)

Definition at line 53 of file packet.cc.

Function Documentation

◆ pump_run()

static void * pump_run ( void *  arg)
static

Definition at line 70 of file packet.cc.

◆ usr1handler()

static void usr1handler ( int  sig)
static

Signal handler does nothing.

It just exists for having the select() below return an interrupted system call.

Definition at line 63 of file packet.cc.

Variable Documentation

◆ baud_table

const int baud_table[]
static
Initial value:
= {
115200,
57600,
38400,
19200,
9600,
}

Definition at line 150 of file packet.cc.

◆ pumpverbose

unsigned short pumpverbose = 0
static

Definition at line 55 of file packet.cc.