ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/svn/vendor/libpeak-0.1.2/peak/task_runloop.h
Revision: 3251
Committed: Wed Apr 2 16:58:30 2014 UTC (11 years, 4 months ago) by michael
Content type: text/x-chdr
File size: 2892 byte(s)
Log Message:
- Imported libpeak-0.1.2

File Contents

# User Rev Content
1 michael 3251 /* PEAK Library
2     *
3     * Copyright (c) 2003
4     * Stephane Thiell <mbuna@bugged.org>. All rights reserved.
5     *
6     * Redistribution and use in source and binary forms, with or without
7     * modification, are permitted provided that the following conditions
8     * are met:
9     *
10     * 1. Redistributions of source code must retain the above copyright
11     * notice, this list of conditions and the following disclaimer.
12     *
13     * 2. Redistributions in binary form must reproduce the above copyright
14     * notice, this list of conditions and the following disclaimer in the
15     * documentation and/or other materials provided with the distribution.
16     *
17     * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
18     * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
19     * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
20     * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
21     * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
22     * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
23     * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
24     * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
25     * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
26     * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
27     * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
28     *
29     * $Id: task_runloop.h,v 1.1.1.1 2003/12/30 02:29:34 mbuna Exp $
30     */
31     #ifndef INCLUDED_PEAK_TASK_RUNLOOP_H_
32     #define INCLUDED_PEAK_TASK_RUNLOOP_H_
33    
34     #include "internal.h"
35     #include "mem_pool.h"
36     #include "task_private.h"
37    
38     /* Note: task_runloop is a private/internal class
39     */
40     typedef struct __peak_task_runloop * peak_task_runloop;
41    
42    
43     struct __peak_task_runloop /* "private" class */
44     {
45     PEAK_STRUCT_RT_HEADER;
46     peak_task _task; /* Owner task */
47     peak_mem_pool _oppool; /* Pool task_op allocator for this runloop */
48     peak_task_op _sched_ophead; /* [SCHEDULER] Head of task_ops queue */
49     peak_task_op * _sched_optailp; /* [SCHEDULER] Tail ptr of task_ops queue */
50     peak_task_op _runloop_ophead; /* [RUNLOOP] Head of task_ops queue */
51     int _exclusivity; /* Task's exclusivity boolean */
52     };
53    
54     #if defined(__cplusplus)
55     extern "C" {
56     #endif
57    
58     __private_extern__ peak_task_runloop _peak_task_runloop_create(peak_task task);
59    
60     __private_extern__ void * _peak_task_runloop_start(void *arg);
61    
62     __private_extern__ void _peak_task_runloop_quit(peak_task_runloop rl);
63    
64     __private_extern__ void _peak_task_runloop_op_schedule(peak_task_runloop rl,
65     peak_task_op op);
66    
67     __private_extern__ void _peak_task_runloop_run(peak_task_runloop rl,
68     int master);
69    
70     #if defined(__cplusplus)
71     }
72     #endif
73    
74    
75     #endif /* INCLUDED_PEAK_TASK_RUNLOOP_H_ */

Properties

Name Value
svn:executable