haiku/headers/private/system/ddm_userland_interface_defs.h
Ingo Weinhold 6b202f4e3d * Introduced new header directory headers/private/system which is supposed
to contain headers shared by kernel and userland (mainly libroot).
* Moved quite a few private kernel headers to the new location. Split
  several kernel headers into a shared part and one that is still kernel
  private. Adjusted all affected Jamfiles and source in the standard x86
  build accordingly. The build for other architectures and for test code
  may be broken.
* Quite a bit of userland code still includes private kernel headers.
  Mostly those are <util/*> headers. The ones that aren't strictly
  kernel-only should be moved to some other place (maybe
  headers/private/shared/util).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25486 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-05-14 03:55:16 +00:00

67 lines
1.5 KiB
C

/*
* Copyright 2003-2008, Haiku Inc.
* Distributed under the terms of the MIT License.
*
* Authors:
* Ingo Weinhold, bonefish@users.sf.net
*/
#ifndef _SYSTEM_DDM_USERLAND_INTERFACE_DEFS_H
#define _SYSTEM_DDM_USERLAND_INTERFACE_DEFS_H
#include <OS.h>
#include <DiskDeviceDefs.h>
// userland partition representation
typedef struct user_partition_data user_partition_data;
struct user_partition_data {
partition_id id;
off_t offset;
off_t size;
off_t content_size;
uint32 block_size;
uint32 status;
uint32 flags;
dev_t volume;
int32 index;
int32 change_counter; // needed?
disk_system_id disk_system;
char *name;
char *content_name;
char *type;
char *content_type;
char *parameters;
char *content_parameters;
void *user_data;
int32 child_count;
user_partition_data *children[1];
};
// userland disk device representation
typedef struct user_disk_device_data {
uint32 device_flags;
char *path;
user_partition_data device_partition_data;
} user_disk_device_data;
// userland disk system representation
typedef struct user_disk_system_info {
disk_system_id id;
char name[B_FILE_NAME_LENGTH]; // better B_PATH_NAME_LENGTH?
char short_name[B_OS_NAME_LENGTH];
char pretty_name[B_OS_NAME_LENGTH];
uint32 flags;
} user_disk_system_info;
// userland disk device job representation
typedef struct user_disk_device_job_info {
disk_job_id id;
uint32 type;
partition_id partition;
char description[256];
} user_disk_device_job_info;
#endif // _SYSTEM_DDM_USERLAND_INTERFACE_DEFS_H