My Project
UDK 3.2.7 C/C++ API Reference
Main Page
Related Pages
Namespaces
Classes
Files
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Pages
osl
thread.h
Go to the documentation of this file.
1
/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2
/*************************************************************************
3
*
4
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
5
*
6
* Copyright 2000, 2010 Oracle and/or its affiliates.
7
*
8
* OpenOffice.org - a multi-platform office productivity suite
9
*
10
* This file is part of OpenOffice.org.
11
*
12
* OpenOffice.org is free software: you can redistribute it and/or modify
13
* it under the terms of the GNU Lesser General Public License version 3
14
* only, as published by the Free Software Foundation.
15
*
16
* OpenOffice.org is distributed in the hope that it will be useful,
17
* but WITHOUT ANY WARRANTY; without even the implied warranty of
18
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19
* GNU Lesser General Public License version 3 for more details
20
* (a copy is included in the LICENSE file that accompanied this code).
21
*
22
* You should have received a copy of the GNU Lesser General Public License
23
* version 3 along with OpenOffice.org. If not, see
24
* <http://www.openoffice.org/license.html>
25
* for a copy of the LGPLv3 License.
26
*
27
************************************************************************/
28
29
#ifndef _OSL_THREAD_H_
30
#define _OSL_THREAD_H_
31
32
#include <
osl/time.h
>
33
34
#ifndef _RTL_TEXTENC_H_
35
# include <
rtl/textenc.h
>
36
#endif
37
38
#ifdef __cplusplus
39
extern
"C"
{
40
#endif
41
46
typedef
void
*
oslThread
;
47
50
typedef
void (SAL_CALL *
oslWorkerFunction
)(
void
*);
51
57
typedef
enum
58
{
59
osl_Thread_PriorityHighest
,
60
osl_Thread_PriorityAboveNormal
,
61
osl_Thread_PriorityNormal
,
62
osl_Thread_PriorityBelowNormal
,
63
osl_Thread_PriorityLowest
,
64
osl_Thread_PriorityUnknown
,
/* don't use to set */
65
osl_Thread_Priority_FORCE_EQUAL_SIZE
= SAL_MAX_ENUM
66
}
oslThreadPriority
;
67
68
69
typedef
sal_uInt32
oslThreadIdentifier
;
70
71
typedef
void
*
oslThreadKey
;
72
80
SAL_DLLPUBLIC
oslThread SAL_CALL
osl_createThread
(
oslWorkerFunction
pWorker,
void
* pThreadData);
81
89
SAL_DLLPUBLIC
oslThread SAL_CALL
osl_createSuspendedThread
(
oslWorkerFunction
pWorker,
void
* pThreadData);
90
95
SAL_DLLPUBLIC
oslThreadIdentifier SAL_CALL
osl_getThreadIdentifier
(oslThread Thread);
96
102
SAL_DLLPUBLIC
void
SAL_CALL
osl_destroyThread
(oslThread Thread);
103
107
SAL_DLLPUBLIC
void
SAL_CALL
osl_resumeThread
(oslThread Thread);
108
112
SAL_DLLPUBLIC
void
SAL_CALL
osl_suspendThread
(oslThread Thread);
113
117
SAL_DLLPUBLIC
void
SAL_CALL
osl_setThreadPriority
(oslThread Thread,
oslThreadPriority
Priority);
118
123
SAL_DLLPUBLIC
oslThreadPriority
SAL_CALL
osl_getThreadPriority
(
const
oslThread Thread);
124
129
SAL_DLLPUBLIC
sal_Bool
SAL_CALL
osl_isThreadRunning
(
const
oslThread Thread);
130
134
SAL_DLLPUBLIC
void
SAL_CALL
osl_joinWithThread
(oslThread Thread);
135
139
SAL_DLLPUBLIC
void
SAL_CALL
osl_waitThread
(
const
TimeValue
* pDelay);
140
144
SAL_DLLPUBLIC
void
SAL_CALL
osl_terminateThread
(oslThread Thread);
145
152
SAL_DLLPUBLIC
sal_Bool
SAL_CALL
osl_scheduleThread
(oslThread Thread);
153
161
SAL_DLLPUBLIC
void
SAL_CALL
osl_yieldThread
(
void
);
162
173
SAL_DLLPUBLIC
void
SAL_CALL
osl_setThreadName
(
char
const
* name);
174
175
/* Callback when data stored in a thread key is no longer needed */
176
177
typedef
void (SAL_CALL *
oslThreadKeyCallbackFunction
)(
void
*);
178
180
SAL_DLLPUBLIC
oslThreadKey SAL_CALL
osl_createThreadKey
(
oslThreadKeyCallbackFunction
pCallback);
181
183
SAL_DLLPUBLIC
void
SAL_CALL
osl_destroyThreadKey
(oslThreadKey Key);
184
186
SAL_DLLPUBLIC
void
* SAL_CALL
osl_getThreadKeyData
(oslThreadKey Key);
187
189
SAL_DLLPUBLIC
sal_Bool
SAL_CALL
osl_setThreadKeyData
(oslThreadKey Key,
void
*pData);
190
192
SAL_DLLPUBLIC
rtl_TextEncoding
SAL_CALL
osl_getThreadTextEncoding
(
void
);
193
197
SAL_DLLPUBLIC
rtl_TextEncoding
SAL_CALL
osl_setThreadTextEncoding
(
rtl_TextEncoding
Encoding);
198
199
#ifdef __cplusplus
200
}
201
#endif
202
203
#endif
/* _OSL_THREAD_H_ */
204
205
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
Generated on Mon Oct 8 2012 00:36:41 for My Project by
1.8.1.2