File: devnode.h

package info (click to toggle)
s390-tools 2.35.0-2
  • links: PTS
  • area: main
  • in suites: forky, sid
  • size: 12,248 kB
  • sloc: ansic: 184,236; sh: 12,152; cpp: 4,954; makefile: 2,763; perl: 2,519; asm: 1,085; python: 697; xml: 29
file content (46 lines) | stat: -rw-r--r-- 1,105 bytes parent folder | download | duplicates (5)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
/*
 * zdev - Modify and display the persistent configuration of devices
 *
 * Copyright IBM Corp. 2016, 2017
 *
 * s390-tools is free software; you can redistribute it and/or modify
 * it under the terms of the MIT license. See LICENSE for details.
 */

#ifndef DEVNODE_H
#define DEVNODE_H

#include "misc.h"

struct util_list;

typedef enum {
	BLOCKDEV,
	CHARDEV,
	NETDEV,
} devnode_t;

struct devnode {
	devnode_t type;

	unsigned int major;
	unsigned int minor;

	char name[];
};

struct devnode *devnode_new(devnode_t, unsigned int, unsigned int,
			    const char *);
struct devnode *devnode_copy(struct devnode *);
void devnode_print(struct devnode *, int);

struct devnode *devnode_from_node(const char *, err_t);
struct devnode *devnode_from_devfile(const char *, const char *, devnode_t);
struct devnode *devnode_from_path(const char *path);

int devnode_cmp(struct devnode *, struct devnode *);
int devnode_add_block_from_sysfs(struct util_list *, const char *);
int devnode_add_net_from_sysfs(struct util_list *, const char *);
char *devnode_readlink(struct devnode *);

#endif /* DEVNODE_H */