File: devnode.h

package info (click to toggle)
s390-tools 2.40.0-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 13,288 kB
  • sloc: ansic: 187,079; sh: 12,157; cpp: 5,049; makefile: 2,812; perl: 2,541; asm: 1,097; python: 697; xml: 29
file content (47 lines) | stat: -rw-r--r-- 1,157 bytes parent folder | download
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
47
/*
 * 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 *);
char *devnode_get_virtio_dir(const char *ccw_path);

#endif /* DEVNODE_H */