Linux Kernel
3.7.1
Main Page
Related Pages
Modules
Namespaces
Data Structures
Files
File List
Globals
All
Data Structures
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Macros
Groups
Pages
include
linux
kobject_ns.h
Go to the documentation of this file.
1
/* Kernel object name space definitions
2
*
3
* Copyright (c) 2002-2003 Patrick Mochel
4
* Copyright (c) 2002-2003 Open Source Development Labs
5
* Copyright (c) 2006-2008 Greg Kroah-Hartman <
[email protected]
>
6
* Copyright (c) 2006-2008 Novell Inc.
7
*
8
* Split from kobject.h by David Howells (
[email protected]
)
9
*
10
* This file is released under the GPLv2.
11
*
12
* Please read Documentation/kobject.txt before using the kobject
13
* interface, ESPECIALLY the parts about reference counts and object
14
* destructors.
15
*/
16
17
#ifndef _LINUX_KOBJECT_NS_H
18
#define _LINUX_KOBJECT_NS_H
19
20
struct
sock
;
21
struct
kobject
;
22
23
/*
24
* Namespace types which are used to tag kobjects and sysfs entries.
25
* Network namespace will likely be the first.
26
*/
27
enum
kobj_ns_type
{
28
KOBJ_NS_TYPE_NONE
= 0,
29
KOBJ_NS_TYPE_NET
,
30
KOBJ_NS_TYPES
31
};
32
33
/*
34
* Callbacks so sysfs can determine namespaces
35
* @grab_current_ns: return a new reference to calling task's namespace
36
* @netlink_ns: return namespace to which a sock belongs (right?)
37
* @initial_ns: return the initial namespace (i.e. init_net_ns)
38
* @drop_ns: drops a reference to namespace
39
*/
40
struct
kobj_ns_type_operations
{
41
enum
kobj_ns_type
type
;
42
void
*(*grab_current_ns)(
void
);
43
const
void
*(*netlink_ns)(
struct
sock
*
sk
);
44
const
void
*(*initial_ns)(
void
);
45
void
(*
drop_ns
)(
void
*);
46
};
47
48
int
kobj_ns_type_register
(
const
struct
kobj_ns_type_operations
*ops);
49
int
kobj_ns_type_registered
(
enum
kobj_ns_type
type
);
50
const
struct
kobj_ns_type_operations
*
kobj_child_ns_ops
(
struct
kobject
*parent);
51
const
struct
kobj_ns_type_operations
*
kobj_ns_ops
(
struct
kobject
*kobj);
52
53
void
*
kobj_ns_grab_current
(
enum
kobj_ns_type
type
);
54
const
void
*
kobj_ns_netlink
(
enum
kobj_ns_type
type
,
struct
sock
*
sk
);
55
const
void
*
kobj_ns_initial
(
enum
kobj_ns_type
type
);
56
void
kobj_ns_drop
(
enum
kobj_ns_type
type
,
void
*
ns
);
57
58
#endif
/* _LINUX_KOBJECT_NS_H */
Generated on Thu Jan 10 2013 14:51:45 for Linux Kernel by
1.8.2