dpkg 1.22.7-3-g89f48
Loading...
Searching...
No Matches
Data Structures | Macros | Enumerations | Functions | Variables
start-stop-daemon.c File Reference

(5601b4769)

#include <config.h>
#include <compat.h>
#include <dpkg/macros.h>
#include <sys/types.h>
#include <sys/time.h>
#include <sys/stat.h>
#include <sys/wait.h>
#include <sys/select.h>
#include <sys/ioctl.h>
#include <sys/socket.h>
#include <sys/un.h>
#include <errno.h>
#include <limits.h>
#include <time.h>
#include <fcntl.h>
#include <dirent.h>
#include <ctype.h>
#include <string.h>
#include <pwd.h>
#include <grp.h>
#include <signal.h>
#include <termios.h>
#include <unistd.h>
#include <stddef.h>
#include <stdbool.h>
#include <stdarg.h>
#include <stdlib.h>
#include <stdio.h>
#include <getopt.h>
Include dependency graph for start-stop-daemon.c:

Data Structures

struct  pid_list
 
struct  res_schedule
 
struct  schedule_item
 
struct  sigpair
 

Macros

#define SCHED_OTHER   -1
 
#define SCHED_FIFO   -1
 
#define SCHED_RR   -1
 
#define SOCK_NONBLOCK   0
 
#define IOPRIO_CLASS_SHIFT   13
 
#define IOPRIO_PRIO_VALUE(class, prio)   (((class) << IOPRIO_CLASS_SHIFT) | (prio))
 
#define IO_SCHED_PRIO_MIN   0
 
#define IO_SCHED_PRIO_MAX   7
 
#define BUG(...)   bug(__FILE__, __LINE__, __func__, __VA_ARGS__)
 
#define timespec_cmp(a, b, OP)
 
#define OPT_PID   500
 
#define OPT_PPID   501
 
#define OPT_RM_PIDFILE   502
 
#define OPT_NOTIFY_AWAIT   503
 
#define OPT_NOTIFY_TIMEOUT   504
 

Enumerations

enum  { IOPRIO_WHO_PROCESS = 1 , IOPRIO_WHO_PGRP , IOPRIO_WHO_USER }
 
enum  { IOPRIO_CLASS_NONE , IOPRIO_CLASS_RT , IOPRIO_CLASS_BE , IOPRIO_CLASS_IDLE }
 
enum  action_code { ACTION_NONE , ACTION_START , ACTION_STOP , ACTION_STATUS }
 
enum  { NANOSEC_IN_SEC = 1000000000L , NANOSEC_IN_MILLISEC = 1000000L , NANOSEC_IN_MICROSEC = 1000L }
 
enum  status_code {
  STATUS_OK = 0 , STATUS_DEAD_PIDFILE = 1 , STATUS_DEAD_LOCKFILE = 2 , STATUS_DEAD = 3 ,
  STATUS_UNKNOWN = 4
}
 

Functions

int main (int argc, char **argv)
 

Variables

enum LIBCOMPAT_ATTR_ENUM_FLAGS match_code
 
 MATCH_NONE = 0
 
 MATCH_PID = 1 << 0
 
 MATCH_PPID = 1 << 1
 
 MATCH_PIDFILE = 1 << 2
 
 MATCH_EXEC = 1 << 3
 
 MATCH_NAME = 1 << 4
 
 MATCH_USER = 1 << 5
 

Macro Definition Documentation

◆ BUG

#define BUG (   ...)    bug(__FILE__, __LINE__, __func__, __VA_ARGS__)

◆ IO_SCHED_PRIO_MAX

#define IO_SCHED_PRIO_MAX   7

◆ IO_SCHED_PRIO_MIN

#define IO_SCHED_PRIO_MIN   0

◆ IOPRIO_CLASS_SHIFT

#define IOPRIO_CLASS_SHIFT   13

◆ IOPRIO_PRIO_VALUE

#define IOPRIO_PRIO_VALUE (   class,
  prio 
)    (((class) << IOPRIO_CLASS_SHIFT) | (prio))

◆ OPT_NOTIFY_AWAIT

#define OPT_NOTIFY_AWAIT   503

◆ OPT_NOTIFY_TIMEOUT

#define OPT_NOTIFY_TIMEOUT   504

◆ OPT_PID

#define OPT_PID   500

◆ OPT_PPID

#define OPT_PPID   501

◆ OPT_RM_PIDFILE

#define OPT_RM_PIDFILE   502

◆ SCHED_FIFO

#define SCHED_FIFO   -1

◆ SCHED_OTHER

#define SCHED_OTHER   -1

◆ SCHED_RR

#define SCHED_RR   -1

◆ SOCK_NONBLOCK

#define SOCK_NONBLOCK   0

◆ timespec_cmp

#define timespec_cmp (   a,
  b,
  OP 
)
Value:
(((a)->tv_sec == (b)->tv_sec) ? \
((a)->tv_nsec OP (b)->tv_nsec) : \
((a)->tv_sec OP (b)->tv_sec))

Enumeration Type Documentation

◆ anonymous enum

anonymous enum
Enumerator
IOPRIO_WHO_PROCESS 
IOPRIO_WHO_PGRP 
IOPRIO_WHO_USER 

◆ anonymous enum

anonymous enum
Enumerator
IOPRIO_CLASS_NONE 
IOPRIO_CLASS_RT 
IOPRIO_CLASS_BE 
IOPRIO_CLASS_IDLE 

◆ anonymous enum

anonymous enum
Enumerator
NANOSEC_IN_SEC 
NANOSEC_IN_MILLISEC 
NANOSEC_IN_MICROSEC 

◆ action_code

Enumerator
ACTION_NONE 
ACTION_START 
ACTION_STOP 
ACTION_STATUS 

◆ status_code

Enumerator
STATUS_OK 
STATUS_DEAD_PIDFILE 
STATUS_DEAD_LOCKFILE 
STATUS_DEAD 
STATUS_UNKNOWN 

Function Documentation

◆ main()

int main ( int  argc,
char **  argv 
)

Variable Documentation

◆ match_code

enum LIBCOMPAT_ATTR_ENUM_FLAGS match_code

◆ MATCH_EXEC

MATCH_EXEC = 1 << 3

◆ MATCH_NAME

MATCH_NAME = 1 << 4

◆ MATCH_NONE

MATCH_NONE = 0

◆ MATCH_PID

MATCH_PID = 1 << 0

◆ MATCH_PIDFILE

MATCH_PIDFILE = 1 << 2

◆ MATCH_PPID

MATCH_PPID = 1 << 1

◆ MATCH_USER

MATCH_USER = 1 << 5