Initial original import from: fuse-2.4.2-2.fc4
[captive.git] / src / libcaptive / io / process.c
1 /* $Id$
2  * reactos spinlock emulation of libcaptive
3  * Copyright (C) 2002 Jan Kratochvil <project-captive@jankratochvil.net>
4  * 
5  * This program is free software; you can redistribute it and/or modify
6  * it under the terms of the GNU General Public License as published by
7  * the Free Software Foundation; exactly version 2 of June 1991 is required
8  * 
9  * This program is distributed in the hope that it will be useful,
10  * but WITHOUT ANY WARRANTY; without even the implied warranty of
11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
12  * GNU General Public License for more details.
13  * 
14  * You should have received a copy of the GNU General Public License
15  * along with this program; if not, write to the Free Software
16  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
17  */
18
19
20 #include "config.h"
21
22 #include "reactos/ddk/iofuncs.h"        /* self */
23 #include <glib/gmessages.h>
24 #include "reactos/ddk/psfuncs.h"        /* for PsGetCurrentThread() */
25
26
27 /**
28  * IoGetStackLimits:
29  * @LowLimit: Returns the bottom limit for the current stack pointer.
30  * @HighLimit: Returns the top limit for the current stack pointer.
31  *
32  * Returns the boundaries for the current stack pointer (address space
33  * of automatic variables). libcaptive returns the whole UNIX process
34  * address space without some safety boundary space (64KB now).
35  */
36 VOID IoGetStackLimits(OUT PULONG LowLimit,OUT PULONG HighLimit)
37 {
38         g_return_if_fail(LowLimit!=NULL);
39         g_return_if_fail(HighLimit!=NULL);
40
41         *LowLimit =(ULONG) 0x10000;     /* 64KB */
42         *HighLimit=(ULONG)-0x10000;     /* 64KB */
43 }
44
45
46 /**
47  * IoIsSystemThread:
48  * @Thread: #PETHREAD of the thread to query.
49  * libcaptive allows only PsGetCurrentThread() value.
50  *
51  * Detect if the given @Thread is a kernel system thread.
52  * FIXME: Not much specific...
53  *
54  * Returns: %TRUE if the given @Thread is a kernel system thread.
55  * libcaptive always returns %TRUE.
56  */
57 BOOLEAN IoIsSystemThread(IN PETHREAD Thread)
58 {
59         g_return_val_if_fail(Thread==PsGetCurrentThread(),FALSE);
60
61         return TRUE;
62 }