-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
kobject: Break the kobject namespace defs into their own header
Break the kobject namespace defs into their own header to avoid a header file inclusion ordering problem between linux/sysfs.h and linux/kobject.h. This fixes the build breakage on older versions of gcc. Signed-off-by: David Howells <dhowells@redhat.com> Cc: Eric Biederman <ebiederm@xmission.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
- Loading branch information
David Howells
authored and
Greg Kroah-Hartman
committed
Aug 24, 2010
1 parent
9ee4747
commit 8488a38
Showing
3 changed files
with
58 additions
and
34 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,56 @@ | ||
/* Kernel object name space definitions | ||
* | ||
* Copyright (c) 2002-2003 Patrick Mochel | ||
* Copyright (c) 2002-2003 Open Source Development Labs | ||
* Copyright (c) 2006-2008 Greg Kroah-Hartman <greg@kroah.com> | ||
* Copyright (c) 2006-2008 Novell Inc. | ||
* | ||
* Split from kobject.h by David Howells (dhowells@redhat.com) | ||
* | ||
* This file is released under the GPLv2. | ||
* | ||
* Please read Documentation/kobject.txt before using the kobject | ||
* interface, ESPECIALLY the parts about reference counts and object | ||
* destructors. | ||
*/ | ||
|
||
#ifndef _LINUX_KOBJECT_NS_H | ||
#define _LINUX_KOBJECT_NS_H | ||
|
||
struct sock; | ||
struct kobject; | ||
|
||
/* | ||
* Namespace types which are used to tag kobjects and sysfs entries. | ||
* Network namespace will likely be the first. | ||
*/ | ||
enum kobj_ns_type { | ||
KOBJ_NS_TYPE_NONE = 0, | ||
KOBJ_NS_TYPE_NET, | ||
KOBJ_NS_TYPES | ||
}; | ||
|
||
/* | ||
* Callbacks so sysfs can determine namespaces | ||
* @current_ns: return calling task's namespace | ||
* @netlink_ns: return namespace to which a sock belongs (right?) | ||
* @initial_ns: return the initial namespace (i.e. init_net_ns) | ||
*/ | ||
struct kobj_ns_type_operations { | ||
enum kobj_ns_type type; | ||
const void *(*current_ns)(void); | ||
const void *(*netlink_ns)(struct sock *sk); | ||
const void *(*initial_ns)(void); | ||
}; | ||
|
||
int kobj_ns_type_register(const struct kobj_ns_type_operations *ops); | ||
int kobj_ns_type_registered(enum kobj_ns_type type); | ||
const struct kobj_ns_type_operations *kobj_child_ns_ops(struct kobject *parent); | ||
const struct kobj_ns_type_operations *kobj_ns_ops(struct kobject *kobj); | ||
|
||
const void *kobj_ns_current(enum kobj_ns_type type); | ||
const void *kobj_ns_netlink(enum kobj_ns_type type, struct sock *sk); | ||
const void *kobj_ns_initial(enum kobj_ns_type type); | ||
void kobj_ns_exit(enum kobj_ns_type type, const void *ns); | ||
|
||
#endif /* _LINUX_KOBJECT_NS_H */ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters