haiku/headers/private/media/ServerInterface.h
Axel Dörfler 1fcbc5470b * More cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34593 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-12-09 16:48:49 +00:00

73 lines
1.7 KiB
C

/*
* Copyright 2002, Marcus Overhagen. All Rights Reserved.
* Copyright 2009, Axel Dörfler, axeld@pinc-software.de.
* Distributed under the terms of the MIT License.
*/
#ifndef _SERVER_INTERFACE_H_
#define _SERVER_INTERFACE_H_
#include <Entry.h>
#include <MediaDefs.h>
#include <MediaNode.h>
#include <MediaAddOn.h>
enum {
ADD_ON_SERVER_INSTANTIATE_DORMANT_NODE,
SERVER_REGISTER_ADD_ON,
SERVER_UNREGISTER_ADD_ON,
SERVER_GET_ADD_ON_REF,
SERVER_REGISTER_DORMANT_NODE,
SERVER_GET_DORMANT_NODES,
SERVER_GET_DORMANT_FLAVOR_INFO,
END
};
struct xfer_server_get_dormant_flavor_info {
media_addon_id add_on_id;
int32 flavor_id;
port_id reply_port;
};
struct xfer_server_get_dormant_flavor_info_reply {
status_t result;
type_code type; // the flatten type_code
size_t flattened_size;
char flattened_data[1];
// a flattened dormant_flavor_info, flattened_size large
};
struct xfer_server_get_dormant_nodes {
int32 max_count;
bool has_input;
media_format input_format;
bool has_output;
media_format output_format;
bool has_name;
char name[B_MEDIA_NAME_LENGTH + 1]; // 1 for a trailing "*"
uint64 require_kinds;
uint64 deny_kinds;
port_id reply_port;
};
struct xfer_server_get_dormant_nodes_reply {
status_t result;
int32 count;
// if count > 0, a second reply containing count dormant_node_infos
// is send
};
struct xfer_server_register_dormant_node {
media_addon_id purge_id;
// if > 0, server must first remove all dormant_flavor_infos
// belonging to that id
type_code type; // the flatten type_code
size_t flattened_size;
char flattened_data[1];
// a flattened dormant_flavor_info, flattened_size large
};
#endif // _SERVER_INTERFACE_H_