⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 api.h

📁 上一个上传的有问题,这个是好的。visopsys包括系统内核和GUI的全部SOURCE code ,还包括一些基本的docs文档。里面src子目录对应所有SOURCE code.对于想研究操作系统的朋
💻 H
📖 第 1 页 / 共 5 页
字号:
// //  Visopsys//  Copyright (C) 1998-2007 J. Andrew McLaughlin//  //  This library is free software; you can redistribute it and/or modify it//  under the terms of the GNU Lesser General Public License as published by//  the Free Software Foundation; either version 2.1 of the License, or (at//  your option) any later version.////  This library is distributed in the hope that it will be useful, but//  WITHOUT ANY WARRANTY; without even the implied warranty of//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU Lesser//  General Public License for more details.////  You should have received a copy of the GNU Lesser General Public License//  along with this library; if not, write to the Free Software Foundation,//  Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.////  api.h//// This file describes all of the functions that are directly exported by// the Visopsys kernel to the outside world.  All functions and their// numbers are listed here, as well as macros needed to perform call-gate// calls into the kernel.  Also, each exported kernel function is represented// here in the form of a little inline function.#if !defined(_API_H)// This file should mostly never be included when we're compiling a kernel// file (kernelApi.c is an exception)#if defined(KERNEL)#error "You cannot call the kernel API from within a kernel function"#endif#ifndef _X_#define _X_#endif#include <time.h>#include <sys/cdefs.h>#include <sys/device.h>#include <sys/disk.h>#include <sys/file.h>#include <sys/image.h>#include <sys/loader.h>#include <sys/lock.h>#include <sys/memory.h>#include <sys/network.h>#include <sys/process.h>#include <sys/progress.h>#include <sys/stream.h>#include <sys/text.h>#include <sys/utsname.h>#include <sys/variable.h>#include <sys/window.h>// Included in the Visopsys standard library to prevent API calls from// within kernel code.extern int visopsys_in_kernel;// This is the big list of kernel function codes.// Text input/output functions.  All are in the 1000-1999 range.#define _fnum_textGetConsoleInput                    1000#define _fnum_textSetConsoleInput                    1001#define _fnum_textGetConsoleOutput                   1002#define _fnum_textSetConsoleOutput                   1003#define _fnum_textGetCurrentInput                    1004#define _fnum_textSetCurrentInput                    1005#define _fnum_textGetCurrentOutput                   1006#define _fnum_textSetCurrentOutput                   1007#define _fnum_textGetForeground                      1008#define _fnum_textSetForeground                      1009#define _fnum_textGetBackground                      1010#define _fnum_textSetBackground                      1011#define _fnum_textPutc                               1012#define _fnum_textPrint                              1013#define _fnum_textPrintAttrs                         1014#define _fnum_textPrintLine                          1015#define _fnum_textNewline                            1016#define _fnum_textBackSpace                          1017#define _fnum_textTab                                1018#define _fnum_textCursorUp                           1019#define _fnum_textCursorDown                         1020#define _fnum_ternelTextCursorLeft                   1021#define _fnum_textCursorRight                        1022#define _fnum_textEnableScroll                       1023#define _fnum_textScroll                             1024#define _fnum_textGetNumColumns                      1025#define _fnum_textGetNumRows                         1026#define _fnum_textGetColumn                          1027#define _fnum_textSetColumn                          1028#define _fnum_textGetRow                             1029#define _fnum_textSetRow                             1030#define _fnum_textSetCursor                          1031#define _fnum_textScreenClear                        1032#define _fnum_textScreenSave                         1033#define _fnum_textScreenRestore                      1034#define _fnum_textInputStreamCount                   1035#define _fnum_textInputCount                         1036#define _fnum_textInputStreamGetc                    1037#define _fnum_textInputGetc                          1038#define _fnum_textInputStreamReadN                   1039#define _fnum_textInputReadN                         1040#define _fnum_textInputStreamReadAll                 1041#define _fnum_textInputReadAll                       1042#define _fnum_textInputStreamAppend                  1043#define _fnum_textInputAppend                        1044#define _fnum_textInputStreamAppendN                 1045#define _fnum_textInputAppendN                       1046#define _fnum_textInputStreamRemove                  1047#define _fnum_textInputRemove                        1048#define _fnum_textInputStreamRemoveN                 1049#define _fnum_textInputRemoveN                       1050#define _fnum_textInputStreamRemoveAll               1051#define _fnum_textInputRemoveAll                     1052#define _fnum_textInputStreamSetEcho                 1053#define _fnum_textInputSetEcho                       1054// Disk functions.  All are in the 2000-2999 range.#define _fnum_diskReadPartitions                     2000#define _fnum_diskReadPartitionsAll                  2001#define _fnum_diskSync                               2002#define _fnum_diskSyncAll                            2003#define _fnum_diskGetBoot                            2004#define _fnum_diskGetCount                           2005#define _fnum_diskGetPhysicalCount                   2006#define _fnum_diskGet                                2007#define _fnum_diskGetAll                             2008#define _fnum_diskGetAllPhysical                     2009#define _fnum_diskGetFilesystemType                  2010#define _fnum_diskGetPartType                        2011#define _fnum_diskGetPartTypes                       2012#define _fnum_diskSetFlags                           2013#define _fnum_diskSetLockState                       2014#define _fnum_diskSetDoorState                       2015#define _fnum_diskGetMediaState                      2016#define _fnum_diskReadSectors                        2017#define _fnum_diskWriteSectors                       2018#define _fnum_diskEraseSectors                       2019#define _fnum_diskGetStats                           2020// Filesystem functions.  All are in the 3000-3999 range.#define _fnum_filesystemFormat                       3000#define _fnum_filesystemClobber                      3001#define _fnum_filesystemCheck                        3002#define _fnum_filesystemDefragment                   3003#define _fnum_filesystemResizeConstraints            3004#define _fnum_filesystemResize                       3005#define _fnum_filesystemMount                        3006#define _fnum_filesystemUnmount                      3007#define _fnum_filesystemGetFree                      3008#define _fnum_filesystemGetBlockSize                 3009// File functions.  All are in the 4000-4999 range.#define _fnum_fileFixupPath                          4000#define _fnum_fileGetDisk                            4001#define _fnum_fileCount                              4002#define _fnum_fileFirst                              4003#define _fnum_fileNext                               4004#define _fnum_fileFind                               4005#define _fnum_fileOpen                               4006#define _fnum_fileClose                              4007#define _fnum_fileRead                               4008#define _fnum_fileWrite                              4009#define _fnum_fileDelete                             4010#define _fnum_fileDeleteRecursive                    4011#define _fnum_fileDeleteSecure                       4012#define _fnum_fileMakeDir                            4013#define _fnum_fileRemoveDir                          4014#define _fnum_fileCopy                               4015#define _fnum_fileCopyRecursive                      4016#define _fnum_fileMove                               4017#define _fnum_fileTimestamp                          4018#define _fnum_fileGetTemp                            4019#define _fnum_fileStreamOpen                         4020#define _fnum_fileStreamSeek                         4021#define _fnum_fileStreamRead                         4022#define _fnum_fileStreamReadLine                     4023#define _fnum_fileStreamWrite                        4024#define _fnum_fileStreamWriteStr                     4025#define _fnum_fileStreamWriteLine                    4026#define _fnum_fileStreamFlush                        4027#define _fnum_fileStreamClose                        4028// Memory manager functions.  All are in the 5000-5999 range.#define _fnum_memoryGet                              5000#define _fnum_memoryGetPhysical                      5001#define _fnum_memoryRelease                          5002#define _fnum_memoryReleaseAllByProcId               5003#define _fnum_memoryChangeOwner                      5004#define _fnum_memoryGetStats                         5005#define _fnum_memoryGetBlocks                        5006#define _fnum_memoryBlockInfo                        5007// Multitasker functions.  All are in the 6000-6999 range.#define _fnum_multitaskerCreateProcess               6000#define _fnum_multitaskerSpawn                       6001#define _fnum_multitaskerGetCurrentProcessId         6002#define _fnum_multitaskerGetProcess                  6003#define _fnum_multitaskerGetProcessByName            6004#define _fnum_multitaskerGetProcesses                6005#define _fnum_multitaskerSetProcessState             6006#define _fnum_multitaskerProcessIsAlive              6007#define _fnum_multitaskerSetProcessPriority          6008#define _fnum_multitaskerGetProcessPrivilege         6009#define _fnum_multitaskerGetCurrentDirectory         6010#define _fnum_multitaskerSetCurrentDirectory         6011#define _fnum_multitaskerGetTextInput                6012#define _fnum_multitaskerSetTextInput                6013#define _fnum_multitaskerGetTextOutput               6014#define _fnum_multitaskerSetTextOutput               6015#define _fnum_multitaskerDuplicateIO                 6016#define _fnum_multitaskerGetProcessorTime            6017#define _fnum_multitaskerYield                       6018#define _fnum_multitaskerWait                        6019#define _fnum_multitaskerBlock                       6020#define _fnum_multitaskerDetach                      6021#define _fnum_multitaskerKillProcess                 6022#define _fnum_multitaskerKillByName                  6023#define _fnum_multitaskerTerminate                   6024#define _fnum_multitaskerSignalSet                   6025#define _fnum_multitaskerSignal                      6026#define _fnum_multitaskerSignalRead                  6027#define _fnum_multitaskerGetIOPerm                   6028#define _fnum_multitaskerSetIOPerm                   6029// Loader functions.  All are in the 7000-7999 range.#define _fnum_loaderLoad                             7000#define _fnum_loaderClassify                         7001#define _fnum_loaderClassifyFile                     7002#define _fnum_loaderGetSymbols                       7003#define _fnum_loaderCheckCommand                     7004#define _fnum_loaderLoadProgram                      7005#define _fnum_loaderLoadLibrary                      7006#define _fnum_loaderExecProgram                      7007#define _fnum_loaderLoadAndExec                      7008// Real-time clock functions.  All are in the 8000-8999 range.#define _fnum_rtcReadSeconds                         8000#define _fnum_rtcReadMinutes                         8001#define _fnum_rtcReadHours                           8002#define _fnum_rtcDayOfWeek                           8003#define _fnum_rtcReadDayOfMonth                      8004#define _fnum_rtcReadMonth                           8005#define _fnum_rtcReadYear                            8006#define _fnum_rtcUptimeSeconds                       8007#define _fnum_rtcDateTime                            8008// Random number functions.  All are in the 9000-9999 range.#define _fnum_randomUnformatted                      9000#define _fnum_randomFormatted                        9001#define _fnum_randomSeededUnformatted                9002#define _fnum_randomSeededFormatted                  9003// Environment functions.  All are in the 10000-10999 range.#define _fnum_environmentGet                         10000#define _fnum_environmentSet                         10001#define _fnum_environmentUnset                       10002#define _fnum_environmentDump                        10003// Raw graphics drawing functions.  All are in the 11000-11999 range#define _fnum_graphicsAreEnabled                     11000#define _fnum_graphicGetModes                        11001#define _fnum_graphicGetMode                         11002#define _fnum_graphicSetMode                         11003#define _fnum_graphicGetScreenWidth                  11004#define _fnum_graphicGetScreenHeight                 11005#define _fnum_graphicCalculateAreaBytes              11006#define _fnum_graphicClearScreen                     11007#define _fnum_graphicGetColor                        11008#define _fnum_graphicSetColor                        11009#define _fnum_graphicDrawPixel                       11010#define _fnum_graphicDrawLine                        11011#define _fnum_graphicDrawRect                        11012#define _fnum_graphicDrawOval                        11013#define _fnum_graphicDrawImage                       11014#define _fnum_graphicGetImage                        11015#define _fnum_graphicDrawText                        11016#define _fnum_graphicCopyArea                        11017

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -