#pragma once

#ifdef __cplusplus
extern "C" {
#endif

#include <features.h>

#define __NEED_pid_t

#include <bits/alltypes.h>

typedef unsigned char cc_t;
typedef unsigned int speed_t;
typedef unsigned int tcflag_t;

#define NCCS 32

#include <bits/termios.h>

speed_t cfgetospeed(const struct termios*);
speed_t cfgetispeed(const struct termios*);
int cfsetospeed(struct termios*, speed_t);
int cfsetispeed(struct termios*, speed_t);

int tcgetattr(int, struct termios*);
int tcsetattr(int, int, const struct termios*);

int tcsendbreak(int, int);
int tcdrain(int);
int tcflush(int, int);
int tcflow(int, int);

pid_t tcgetsid(int);

#if defined(_GNU_SOURCE) || defined(_BSD_SOURCE)
void cfmakeraw(struct termios*);
int cfsetspeed(struct termios*, speed_t);
#endif

#ifdef __cplusplus
}
#endif
