#ifndef __NOUVEAU_HANDLE_H__
#define __NOUVEAU_HANDLE_H__

struct nouveau_handle {
	struct nouveau_namedb *namedb;
	struct list_head node;

	struct list_head head;
	struct list_head tree;
	u32 name;
	u32 priv;

	struct nouveau_handle *parent;
	struct nouveau_object *object;
};

int  nouveau_handle_create(struct nouveau_object *, u32 parent, u32 handle,
			   struct nouveau_object *, struct nouveau_handle **);
void nouveau_handle_destroy(struct nouveau_handle *);
int  nouveau_handle_init(struct nouveau_handle *);
int  nouveau_handle_fini(struct nouveau_handle *, bool suspend);

struct nouveau_object *
nouveau_handle_ref(struct nouveau_object *, u32 name);

struct nouveau_handle *nouveau_handle_get_class(struct nouveau_object *, u16);
struct nouveau_handle *nouveau_handle_get_vinst(struct nouveau_object *, u64);
struct nouveau_handle *nouveau_handle_get_cinst(struct nouveau_object *, u32);
void nouveau_handle_put(struct nouveau_handle *);

#endif
