Check-in often, they says...
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4812 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
@@ -95,7 +95,7 @@ status_t start_buffers_service()
|
||||
#endif
|
||||
|
||||
// fire buffers_purgatory_thread
|
||||
g_buffers_purgatory_thread = spawn_kernel_thread(buffers_purgatory_thread, "net buffers serial killer", B_LOW_PRIORITY, 0);
|
||||
g_buffers_purgatory_thread = spawn_kernel_thread(buffers_purgatory_thread, "buffers serial killer", B_LOW_PRIORITY, 0);
|
||||
if (g_buffers_purgatory_thread < B_OK)
|
||||
return g_buffers_purgatory_thread;
|
||||
|
||||
@@ -242,6 +242,12 @@ net_buffer * split_buffer(net_buffer *buffer, uint32 offset)
|
||||
return NULL; // B_UNSUPPORTED;
|
||||
}
|
||||
|
||||
// --------------------------------------------------
|
||||
status_t merge_buffers(net_buffer *begin_buffer, net_buffer *end_buffer)
|
||||
{
|
||||
return B_ERROR;
|
||||
}
|
||||
|
||||
|
||||
// --------------------------------------------------
|
||||
status_t attach_buffer_free_element(net_buffer *buffer, void *arg1, void *arg2, buffer_chunk_free_func freethis)
|
||||
@@ -514,7 +520,7 @@ status_t find_buffer_attribut(net_buffer *buffer, const char *name, int *type, v
|
||||
}
|
||||
|
||||
|
||||
// #pragma mark [data(s) queues functions]
|
||||
// #pragma mark [buffer(s) queues functions]
|
||||
|
||||
// --------------------------------------------------
|
||||
net_buffer_queue * new_buffer_queue(size_t max_bytes)
|
||||
@@ -834,7 +840,7 @@ void dump_memory
|
||||
|
||||
for (j = i; j < len && j < i+16;j++)
|
||||
{
|
||||
if ( byte[j] >= ' ' && byte[j] < 0x7e )
|
||||
if ( byte[j] >= 0x20 && byte[j] < 0x7e )
|
||||
*ptr = byte[j];
|
||||
else
|
||||
*ptr = '.';
|
||||
|
||||
@@ -23,6 +23,7 @@ extern status_t delete_buffer(net_buffer *buffer, bool interrupt_safe);
|
||||
extern net_buffer * duplicate_buffer(net_buffer *from);
|
||||
extern net_buffer * clone_buffer(net_buffer *from);
|
||||
extern net_buffer * split_buffer(net_buffer *from, uint32 offset);
|
||||
extern status_t merge_buffers(net_buffer *begin, net_buffer *end);
|
||||
|
||||
extern status_t add_to_buffer(net_buffer *buffer, uint32 offset, const void *data, uint32 bytes, buffer_chunk_free_func freethis);
|
||||
extern status_t remove_from_buffer(net_buffer *buffer, uint32 offset, uint32 bytes);
|
||||
|
||||
@@ -210,6 +210,30 @@ status_t unregister_layer(net_layer *layer)
|
||||
}
|
||||
|
||||
|
||||
// --------------------------------------------------
|
||||
net_layer * find_layer(const char *name)
|
||||
{
|
||||
net_layer *layer;
|
||||
status_t status;
|
||||
|
||||
if (!name)
|
||||
return NULL;
|
||||
|
||||
status = acquire_sem(g_layers.lock);
|
||||
if (status != B_OK)
|
||||
return NULL;
|
||||
|
||||
layer = g_layers.first;
|
||||
while (layer) {
|
||||
if (strcmp(layer->name, name) == 0)
|
||||
break;
|
||||
layer = layer->next;
|
||||
}
|
||||
release_sem(g_layers.lock);
|
||||
return layer;
|
||||
}
|
||||
|
||||
|
||||
// --------------------------------------------------
|
||||
status_t add_layer_attribut(net_layer *layer, const char *name, int type, ...)
|
||||
{
|
||||
|
||||
@@ -11,20 +11,21 @@
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
extern status_t start_layers_manager();
|
||||
extern status_t stop_layers_manager();
|
||||
extern status_t start_layers_manager();
|
||||
extern status_t stop_layers_manager();
|
||||
|
||||
extern status_t register_layer(const char *name, net_layer_module_info *module, void *cookie,
|
||||
extern status_t register_layer(const char *name, net_layer_module_info *module, void *cookie,
|
||||
net_layer **me);
|
||||
extern status_t unregister_layer(net_layer *layer);
|
||||
extern status_t unregister_layer(net_layer *layer);
|
||||
extern net_layer * find_layer(const char *name);
|
||||
|
||||
extern status_t add_layer_attribut(net_layer *layer, const char *name, int type, ...);
|
||||
extern status_t remove_layer_attribut(net_layer *layer, const char *name);
|
||||
extern status_t find_layer_attribut(net_layer *layer, const char *name,
|
||||
int *type, void **attribut, size_t *size);
|
||||
extern status_t add_layer_attribut(net_layer *layer, const char *name, int type, ...);
|
||||
extern status_t remove_layer_attribut(net_layer *layer, const char *name);
|
||||
extern status_t find_layer_attribut(net_layer *layer, const char *name,
|
||||
int *type, void **attribut, size_t *size);
|
||||
|
||||
extern status_t push_buffer_up(net_layer *me, struct net_buffer *buffer);
|
||||
extern status_t push_buffer_down(net_layer *me, struct net_buffer *buffer);
|
||||
extern status_t push_buffer_up(net_layer *me, struct net_buffer *buffer);
|
||||
extern status_t push_buffer_down(net_layer *me, struct net_buffer *buffer);
|
||||
|
||||
|
||||
#ifdef __cplusplus
|
||||
|
||||
@@ -73,6 +73,7 @@ struct net_stack_module_info nsmi = {
|
||||
// Layers handling
|
||||
register_layer,
|
||||
unregister_layer,
|
||||
find_layer,
|
||||
add_layer_attribut,
|
||||
remove_layer_attribut,
|
||||
find_layer_attribut,
|
||||
|
||||
@@ -57,7 +57,7 @@ status_t start_timers_service()
|
||||
set_sem_owner(g_timers.wait, B_SYSTEM_TEAM);
|
||||
#endif
|
||||
|
||||
g_timers_thread = spawn_kernel_thread(timers_thread, "net timers lone runner", B_URGENT_DISPLAY_PRIORITY, &g_timers);
|
||||
g_timers_thread = spawn_kernel_thread(timers_thread, "timers lone runner", B_URGENT_DISPLAY_PRIORITY, &g_timers);
|
||||
if (g_timers_thread < B_OK)
|
||||
return g_timers_thread;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user