Initial revision

This commit is contained in:
Martin Baulig
1998-07-18 16:15:56 +00:00
parent 0e086aef25
commit 5e9d34c91a
23 changed files with 2280 additions and 0 deletions

65
libproc/signals.c Normal file
View File

@@ -0,0 +1,65 @@
/* signals.c - signal name handling */
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include <ctype.h>
#include "proc/signals.h"
typedef struct {
int number;
char *name;
} SIGNAME;
static SIGNAME signals[] = {
#include "signames.h" /* should be in same dir as this file */
{ 0,NULL }};
void list_signals(void)
{
SIGNAME *walk;
int col;
col = 0;
for (walk = signals; walk->name; walk++) {
if (col+strlen(walk->name)+1 > 80) {
putchar('\n');
col = 0;
}
printf("%s%s",col ? " " : "",walk->name);
col += strlen(walk->name)+1;
}
putchar('\n');
}
int get_signal(char *name,char *cmd)
{
SIGNAME *walk;
if (isdigit(*name))
return atoi(name);
for (walk = signals; walk->name; walk++)
if (!strcmp(walk->name,name)) break;
if (walk->name) return walk->number;
fprintf(stderr,"%s: unknown signal; %s -l lists signals.\n",name,cmd);
exit(1);
}
/* get_signal2 is by Michael Shields. 1994/04/25. */
int get_signal2(char *name)
{
SIGNAME *walk;
if (!name)
return(-1);
if (isdigit(*name))
return atoi(name);
for (walk = signals; walk->name; walk++)
if (!strcmp(walk->name,name))
return(walk->number);
return(-1);
}