diff --git a/vms/copying b/vms/copying new file mode 100644 index 00000000000..dc63aaca038 --- /dev/null +++ b/vms/copying @@ -0,0 +1,340 @@ + + GNU GENERAL PUBLIC LICENSE + Version 2, June 1991 + + Copyright (C) 1989, 1991 Free Software Foundation, Inc. + 675 Mass Ave, Cambridge, MA 02139, USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +License is intended to guarantee your freedom to share and change free +software--to make sure the software is free for all its users. This +General Public License applies to most of the Free Software +Foundation's software and to any other program whose authors commit to +using it. (Some other Free Software Foundation software is covered by +the GNU Library General Public License instead.) You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +this service if you wish), that you receive source code or can get it +if you want it, that you can change the software or use pieces of it +in new free programs; and that you know you can do these things. + + To protect your rights, we need to make restrictions that forbid +anyone to deny you these rights or to ask you to surrender the rights. +These restrictions translate to certain responsibilities for you if you +distribute copies of the software, or if you modify it. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must give the recipients all the rights that +you have. You must make sure that they, too, receive or can get the +source code. And you must show them these terms so they know their +rights. + + We protect your rights with two steps: (1) copyright the software, and +(2) offer you this license which gives you legal permission to copy, +distribute and/or modify the software. + + Also, for each author's protection and ours, we want to make certain +that everyone understands that there is no warranty for this free +software. If the software is modified by someone else and passed on, we +want its recipients to know that what they have is not the original, so +that any problems introduced by others will not reflect on the original +authors' reputations. + + Finally, any free program is threatened constantly by software +patents. We wish to avoid the danger that redistributors of a free +program will individually obtain patent licenses, in effect making the +program proprietary. To prevent this, we have made it clear that any +patent must be licensed for everyone's free use or not licensed at all. + + The precise terms and conditions for copying, distribution and +modification follow. + + GNU GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License applies to any program or other work which contains +a notice placed by the copyright holder saying it may be distributed +under the terms of this General Public License. The "Program", below, +refers to any such program or work, and a "work based on the Program" +means either the Program or any derivative work under copyright law: +that is to say, a work containing the Program or a portion of it, +either verbatim or with modifications and/or translated into another +language. (Hereinafter, translation is included without limitation in +the term "modification".) Each licensee is addressed as "you". + +Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running the Program is not restricted, and the output from the Program +is covered only if its contents constitute a work based on the +Program (independent of having been made by running the Program). +Whether that is true depends on what the Program does. + + 1. You may copy and distribute verbatim copies of the Program's +source code as you receive it, in any medium, provided that you +conspicuously and appropriately publish on each copy an appropriate +copyright notice and disclaimer of warranty; keep intact all the +notices that refer to this License and to the absence of any warranty; +and give any other recipients of the Program a copy of this License +along with the Program. + +You may charge a fee for the physical act of transferring a copy, and +you may at your option offer warranty protection in exchange for a fee. + + 2. You may modify your copy or copies of the Program or any portion +of it, thus forming a work based on the Program, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) You must cause the modified files to carry prominent notices + stating that you changed the files and the date of any change. + + b) You must cause any work that you distribute or publish, that in + whole or in part contains or is derived from the Program or any + part thereof, to be licensed as a whole at no charge to all third + parties under the terms of this License. + + c) If the modified program normally reads commands interactively + when run, you must cause it, when started running for such + interactive use in the most ordinary way, to print or display an + announcement including an appropriate copyright notice and a + notice that there is no warranty (or else, saying that you provide + a warranty) and that users may redistribute the program under + these conditions, and telling the user how to view a copy of this + License. (Exception: if the Program itself is interactive but + does not normally print such an announcement, your work based on + the Program is not required to print an announcement.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Program, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Program, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Program. + +In addition, mere aggregation of another work not based on the Program +with the Program (or with a work based on the Program) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may copy and distribute the Program (or a work based on it, +under Section 2) in object code or executable form under the terms of +Sections 1 and 2 above provided that you also do one of the following: + + a) Accompany it with the complete corresponding machine-readable + source code, which must be distributed under the terms of Sections + 1 and 2 above on a medium customarily used for software interchange; or, + + b) Accompany it with a written offer, valid for at least three + years, to give any third party, for a charge no more than your + cost of physically performing source distribution, a complete + machine-readable copy of the corresponding source code, to be + distributed under the terms of Sections 1 and 2 above on a medium + customarily used for software interchange; or, + + c) Accompany it with the information you received as to the offer + to distribute corresponding source code. (This alternative is + allowed only for noncommercial distribution and only if you + received the program in object code or executable form with such + an offer, in accord with Subsection b above.) + +The source code for a work means the preferred form of the work for +making modifications to it. For an executable work, complete source +code means all the source code for all modules it contains, plus any +associated interface definition files, plus the scripts used to +control compilation and installation of the executable. However, as a +special exception, the source code distributed need not include +anything that is normally distributed (in either source or binary +form) with the major components (compiler, kernel, and so on) of the +operating system on which the executable runs, unless that component +itself accompanies the executable. + +If distribution of executable or object code is made by offering +access to copy from a designated place, then offering equivalent +access to copy the source code from the same place counts as +distribution of the source code, even though third parties are not +compelled to copy the source along with the object code. + + 4. You may not copy, modify, sublicense, or distribute the Program +except as expressly provided under this License. Any attempt +otherwise to copy, modify, sublicense or distribute the Program is +void, and will automatically terminate your rights under this License. +However, parties who have received copies, or rights, from you under +this License will not have their licenses terminated so long as such +parties remain in full compliance. + + 5. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Program or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Program (or any work based on the +Program), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Program or works based on it. + + 6. Each time you redistribute the Program (or any work based on the +Program), the recipient automatically receives a license from the +original licensor to copy, distribute or modify the Program subject to +these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties to +this License. + + 7. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Program at all. For example, if a patent +license would not permit royalty-free redistribution of the Program by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Program. + +If any portion of this section is held invalid or unenforceable under +any particular circumstance, the balance of the section is intended to +apply and the section as a whole is intended to apply in other +circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system, which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 8. If the distribution and/or use of the Program is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Program under this License +may add an explicit geographical distribution limitation excluding +those countries, so that distribution is permitted only in or among +countries not thus excluded. In such case, this License incorporates +the limitation as if written in the body of this License. + + 9. The Free Software Foundation may publish revised and/or new versions +of the General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + +Each version is given a distinguishing version number. If the Program +specifies a version number of this License which applies to it and "any +later version", you have the option of following the terms and conditions +either of that version or of any later version published by the Free +Software Foundation. If the Program does not specify a version number of +this License, you may choose any version ever published by the Free Software +Foundation. + + 10. If you wish to incorporate parts of the Program into other free +programs whose distribution conditions are different, write to the author +to ask for permission. For software which is copyrighted by the Free +Software Foundation, write to the Free Software Foundation; we sometimes +make exceptions for this. Our decision will be guided by the two goals +of preserving the free status of all derivatives of our free software and +of promoting the sharing and reuse of software generally. + + NO WARRANTY + + 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY +FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN +OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES +PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED +OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS +TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE +PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, +REPAIR OR CORRECTION. + + 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR +REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, +INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING +OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED +TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY +YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER +PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE +POSSIBILITY OF SUCH DAMAGES. + + END OF TERMS AND CONDITIONS + + Appendix: How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +convey the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) 19yy + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program 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 General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + +Also add information on how to contact you by electronic and paper mail. + +If the program is interactive, make it output a short notice like this +when it starts in an interactive mode: + + Gnomovision version 69, Copyright (C) 19yy name of author + Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, the commands you use may +be called something other than `show w' and `show c'; they could even be +mouse-clicks or menu items--whatever suits your program. + +You should also get your employer (if you work as a programmer) or your +school, if any, to sign a "copyright disclaimer" for the program, if +necessary. Here is a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the program + `Gnomovision' (which makes passes at compilers) written by James Hacker. + + , 1 April 1989 + Ty Coon, President of Vice + +This General Public License does not permit incorporating your program into +proprietary programs. If your program is a subroutine library, you may +consider it more useful to permit linking proprietary applications with the +library. If this is what you want to do, use the GNU Library General +Public License instead of this License. diff --git a/vms/directory.xml b/vms/directory.xml new file mode 100644 index 00000000000..24871ec5ccb --- /dev/null +++ b/vms/directory.xml @@ -0,0 +1,12 @@ + + + + + + + + + + + + diff --git a/vms/include/vms/lpcproto.h b/vms/include/vms/lpcproto.h index 5b947cb2ac4..2099945a456 100644 --- a/vms/include/vms/lpcproto.h +++ b/vms/include/vms/lpcproto.h @@ -1,10 +1,12 @@ -#ifndef __VMS_SYS_LPCPROTO_H -#define __VMS_SYS_LPCPROTO_H - -#define VMS_LPCPROTO_VERSION 1 - -#define VMS_OBNS_ROOT L"\\VMS" -#define VMS_API_PORT_NAME L"\\VMS\\ApiPort" -#define VMS_SBAPI_PORT_NAME L"\\VMS\\SbApiPort" - -#endif +#ifndef __VMS_SYS_LPCPROTO_H +#define __VMS_SYS_LPCPROTO_H + +#define VMS_LPCPROTO_VERSION 1 + +#define CSR_VMS_SRV 1 + +#define VMS_OBNS_ROOT L"\\VMS" +#define VMS_API_PORT_NAME L"\\VMS\\ApiPort" +#define VMS_SBAPI_PORT_NAME L"\\VMS\\SbApiPort" + +#endif diff --git a/vms/lib/directory.xml b/vms/lib/directory.xml new file mode 100644 index 00000000000..fafd35669d8 --- /dev/null +++ b/vms/lib/directory.xml @@ -0,0 +1,3 @@ + + + diff --git a/vms/lib/vmsdll/dllmain.c b/vms/lib/vmsdll/dllmain.c index 3321decd89b..a7ef3186b2f 100644 --- a/vms/lib/vmsdll/dllmain.c +++ b/vms/lib/vmsdll/dllmain.c @@ -1,39 +1,39 @@ -/* $Id: dllmain.c,v 1.5 2002/11/24 18:42:15 robd Exp $ - * - * dllmain.c - * - * A stub DllMain function which will be called by DLLs which do not - * have a user supplied DllMain. - * - * Contributors: - * Created by Colin Peters - * - * THIS SOFTWARE IS NOT COPYRIGHTED - * - * This source code is offered for use in the public domain. You may - * use, modify or distribute it freely. - * - * This code is distributed in the hope that it will be useful but - * WITHOUT ANY WARRANTY. ALL WARRENTIES, EXPRESS OR IMPLIED ARE HEREBY - * DISCLAMED. This includes but is not limited to warrenties of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - * - * $Revision: 1.5 $ - * $Author: robd $ - * $Date: 2002/11/24 18:42:15 $ - * - */ - -#include - - -/* LIBRARY ENTRY POINT ********************************************************/ - -BOOL -WINAPI -DllMain(HANDLE hDll, DWORD dwReason, LPVOID lpReserved) -{ - return TRUE; -} - -/* EOF */ +/* $Id$ + * + * dllmain.c + * + * A stub DllMain function which will be called by DLLs which do not + * have a user supplied DllMain. + * + * Contributors: + * Created by Colin Peters + * + * THIS SOFTWARE IS NOT COPYRIGHTED + * + * This source code is offered for use in the public domain. You may + * use, modify or distribute it freely. + * + * This code is distributed in the hope that it will be useful but + * WITHOUT ANY WARRANTY. ALL WARRENTIES, EXPRESS OR IMPLIED ARE HEREBY + * DISCLAMED. This includes but is not limited to warrenties of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * + * $Revision: 1.5 $ + * $Author$ + * $Date$ + * + */ + +#include + + +/* LIBRARY ENTRY POINT ********************************************************/ + +BOOL +WINAPI +DllMain(HANDLE hDll, DWORD dwReason, LPVOID lpReserved) +{ + return TRUE; +} + +/* EOF */ diff --git a/vms/lib/vmsdll/lib/stubs.c b/vms/lib/vmsdll/lib/stubs.c index 4f94b881f4c..1a1ac2be5f1 100644 --- a/vms/lib/vmsdll/lib/stubs.c +++ b/vms/lib/vmsdll/lib/stubs.c @@ -1 +1 @@ -void lib$find_file () { } +void lib$find_file () { } diff --git a/vms/lib/vmsdll/makefile b/vms/lib/vmsdll/makefile index 37ca5b6e6b8..b32d9715c16 100644 --- a/vms/lib/vmsdll/makefile +++ b/vms/lib/vmsdll/makefile @@ -1,44 +1,44 @@ -# $Id$ -# -PATH_TO_TOP = ../../../reactos - -TARGET_TYPE = dynlink - -TARGET_NAME = vmsdll - -TARGET_CFLAGS = -Wall -Werror -fno-builtin \ - -D__USE_W32API \ - -D_WIN32_IE=0x0500 \ - -D_WIN32_WINNT=0x501 \ - -DWINVER=0x600 \ - -TARGET_LFLAGS = -nostartfiles -nostdlib - -TARGET_SDKLIBS = ntdll.a - -LIB_OBJECTS = \ - lib\stubs.o - -RMS_OBJECTS = \ - rms\stubs.o - -MISC_OBJECTS = \ - dllmain.o - -SYS_OBJECTS = \ - sys\stubs.o - -TARGET_OBJECTS = \ - $(LIB_OBJECTS) \ - $(RMS_OBJECTS) \ - $(SYS_OBJECTS) \ - $(MISC_OBJECTS) - -DEP_OBJECTS = $(TARGET_OBJECTS) - -include $(PATH_TO_TOP)/rules.mak - -include $(TOOLS_PATH)/helper.mk - -include $(TOOLS_PATH)/depend.mk - +# $Id$ +# +PATH_TO_TOP = ../../../reactos + +TARGET_TYPE = dynlink + +TARGET_NAME = vmsdll + +TARGET_CFLAGS = -Wall -Werror -fno-builtin \ + -D__USE_W32API \ + -D_WIN32_IE=0x0500 \ + -D_WIN32_WINNT=0x501 \ + -DWINVER=0x600 \ + +TARGET_LFLAGS = -nostartfiles -nostdlib + +TARGET_SDKLIBS = ntdll.a + +LIB_OBJECTS = \ + lib\stubs.o + +RMS_OBJECTS = \ + rms\stubs.o + +MISC_OBJECTS = \ + dllmain.o + +SYS_OBJECTS = \ + sys\stubs.o + +TARGET_OBJECTS = \ + $(LIB_OBJECTS) \ + $(RMS_OBJECTS) \ + $(SYS_OBJECTS) \ + $(MISC_OBJECTS) + +DEP_OBJECTS = $(TARGET_OBJECTS) + +include $(PATH_TO_TOP)/rules.mak + +include $(TOOLS_PATH)/helper.mk + +include $(TOOLS_PATH)/depend.mk + diff --git a/vms/lib/vmsdll/readme.txt b/vms/lib/vmsdll/readme.txt index eb2466f5dc7..75a81a558c6 100644 --- a/vms/lib/vmsdll/readme.txt +++ b/vms/lib/vmsdll/readme.txt @@ -1,7 +1,7 @@ -VMSDLL - ReactOS VMS+ Environment Subsystem - -lib = Library APIs - -rms = Record Management Services APIs - -sys = System APIs \ No newline at end of file +VMSDLL - ReactOS VMS+ Environment Subsystem Client Library + +lib = Library APIs + +rms = Record Management Services APIs + +sys = System APIs diff --git a/vms/lib/vmsdll/sys/stubs.c b/vms/lib/vmsdll/sys/stubs.c index 70a58212b86..4ba6c1b72ce 100644 --- a/vms/lib/vmsdll/sys/stubs.c +++ b/vms/lib/vmsdll/sys/stubs.c @@ -1,30 +1,30 @@ -/* $Id$ */ -void sys$ascefc (void) {} -void sys$asctim (void) {} -void sys$assign (void) {} -void sys$bintim (void) {} -void sys$clref (void) {} -void sys$crelnm (void) {} -void sys$crelnt (void) {} -void sys$dclast (void) {} -void sys$enq (void) {} -void sys$forcex (void) {} -void sys$gettim (void) {} -void sys$hiber (void) {} -void sys$numtim (void) {} -void sys$qio (void) {} -void sys$qiow (void) {} -void sys$readef (void) {} -void sys$schdwk (void) {} -void sys$setef (void) {} -void sys$setast (void) {} -void sys$setime (void) {} -void sys$setimr (void) {} -void sys$setpri (void) {} -void sys$setprn (void) {} -void sys$synch (void) {} -void sys$trnlnm (void) {} -void sys$waitfr (void) {} -void sys$wake (void) {} - -/* EOF */ +/* $Id$ */ +void sys$ascefc (void) {} +void sys$asctim (void) {} +void sys$assign (void) {} +void sys$bintim (void) {} +void sys$clref (void) {} +void sys$crelnm (void) {} +void sys$crelnt (void) {} +void sys$dclast (void) {} +void sys$enq (void) {} +void sys$forcex (void) {} +void sys$gettim (void) {} +void sys$hiber (void) {} +void sys$numtim (void) {} +void sys$qio (void) {} +void sys$qiow (void) {} +void sys$readef (void) {} +void sys$schdwk (void) {} +void sys$setef (void) {} +void sys$setast (void) {} +void sys$setime (void) {} +void sys$setimr (void) {} +void sys$setpri (void) {} +void sys$setprn (void) {} +void sys$synch (void) {} +void sys$trnlnm (void) {} +void sys$waitfr (void) {} +void sys$wake (void) {} + +/* EOF */ diff --git a/vms/lib/vmsdll/vmsdll.def b/vms/lib/vmsdll/vmsdll.def index d585c68fc80..764c4977c03 100644 --- a/vms/lib/vmsdll/vmsdll.def +++ b/vms/lib/vmsdll/vmsdll.def @@ -1,32 +1,32 @@ -LIBRARY vmsdll.dll -EXPORTS -; LIB -lib$find_file -; SYS -sys$ascefc -sys$asctim -sys$assign -sys$bintim -sys$clref -sys$crelnm -sys$crelnt -sys$dclast -sys$enq -sys$forcex -sys$gettim -sys$hiber -sys$numtim -sys$qio -sys$qiow -sys$readef -sys$schdwk -sys$setef -sys$setast -sys$setime -sys$setimr -sys$setpri -sys$setprn -sys$synch -sys$trnlnm -sys$waitfr -sys$wake +LIBRARY vmsdll.dll +EXPORTS +; LIB +lib$find_file +; SYS +sys$ascefc +sys$asctim +sys$assign +sys$bintim +sys$clref +sys$crelnm +sys$crelnt +sys$dclast +sys$enq +sys$forcex +sys$gettim +sys$hiber +sys$numtim +sys$qio +sys$qiow +sys$readef +sys$schdwk +sys$setef +sys$setast +sys$setime +sys$setimr +sys$setpri +sys$setprn +sys$synch +sys$trnlnm +sys$waitfr +sys$wake diff --git a/vms/lib/vmsdll/vmsdll.rc b/vms/lib/vmsdll/vmsdll.rc index 9d21ec98dac..9cbb160765f 100644 --- a/vms/lib/vmsdll/vmsdll.rc +++ b/vms/lib/vmsdll/vmsdll.rc @@ -1,4 +1,4 @@ -#define REACTOS_STR_FILE_DESCRIPTION "ReactOS/VMS API Client Library\0" -#define REACTOS_STR_INTERNAL_NAME "vmsdll\0" -#define REACTOS_STR_ORIGINAL_FILENAME "vmdsll.dll\0" -#include +#define REACTOS_STR_FILE_DESCRIPTION "ReactOS/VMS API Client Library\0" +#define REACTOS_STR_INTERNAL_NAME "vmsdll\0" +#define REACTOS_STR_ORIGINAL_FILENAME "vmdsll.dll\0" +#include diff --git a/vms/lib/vmsdll/vmsdll.xml b/vms/lib/vmsdll/vmsdll.xml new file mode 100644 index 00000000000..3992947beb5 --- /dev/null +++ b/vms/lib/vmsdll/vmsdll.xml @@ -0,0 +1,23 @@ + + + + ../include + + + 0x0502 + + rtl + intrlck + string + -lgcc + dllmain.c + + stubs.c + + + stubs.c + + + stubs.c + + diff --git a/vms/makefile b/vms/makefile index 88c1f9c3c99..de7d057c312 100644 --- a/vms/makefile +++ b/vms/makefile @@ -1,120 +1,14 @@ -# $Id$ -# -# ReactOS VMS Personality -# - -PATH_TO_TOP = ../reactos - -include $(PATH_TO_TOP)/rules.mak - -VMS_PATH = . - -VMS_OTHER = server - -VMS_TOOLS = mksystab - -VMS_LIBS = vmsdll - -VMS_APPS = # vmsw32 - -VMS_MODULES = $(VMS_OTHER) $(VMS_TOOLS) $(VMS_LIBS) $(VMS_APPS) - -all: implib $(VMS_MODULES) - -implib: $(VMS_MODULES:%=%_implib) - -clean: $(VMS_MODULES:%=%_clean) - -install: $(VMS_MODULES:%=%_install) - -.PHONY: all implib clean - - -# -# Other VMS+ Modules -# -$(VMS_OTHER): %: - make -f Makefile -C $(VMS_PATH)/$* - -$(VMS_OTHER:%=%_implib): %_implib: - make -f Makefile -C $(VMS_PATH)/$* implib - -$(VMS_OTHER:%=%_clean): %_clean: - make -f Makefile -C $(VMS_PATH)/$* clean - -$(VMS_OTHER:%=%_dist): %_dist: - make -f Makefile -C $(VMS_PATH)/$* dist - -$(VMS_OTHER:%=%_install): %_install: - make -f Makefile -C $(VMS_PATH)/$* install - -.PHONY: $(VMS_OTHER) $(VMS_OTHER:%=%_implib) $(VMS_OTHER:%=%_clean) $(VMS_OTHER:%=%_install) $(VMS_OTHER:%=%_dist) - - -# -# VMS+ Tools -# -$(VMS_TOOLS): %: - make -f Makefile -C $(VMS_PATH)/tools/$* - -$(VMS_TOOLS:%=%_implib): %_implib: - make -f Makefile -C $(VMS_PATH)/tools/$* implib - -$(VMS_TOOLS:%=%_clean): %_clean: - make -f Makefile -C $(VMS_PATH)/tools/$* clean - -$(VMS_TOOLS:%=%_dist): %_dist: - make -f Makefile -C $(VMS_PATH)/tools/$* dist - -$(VMS_TOOLS:%=%_install): %_install: - make -f Makefile -C $(VMS_PATH)/tools/$* install - -.PHONY: $(VMS_LIBS) $(VMS_LIBS:%=%_implib) $(VMS_LIBS:%=%_clean) $(VMS_LIBS:%=%_install) $(VMS_LIBS:%=%_dist) - - -# -# VMS+ DLLs -# -$(VMS_LIBS): %: - make -f Makefile -C $(VMS_PATH)/lib/$* - -$(VMS_LIBS:%=%_implib): %_implib: - make -f Makefile -C $(VMS_PATH)/lib/$* implib - -$(VMS_LIBS:%=%_clean): %_clean: - make -f Makefile -C $(VMS_PATH)/lib/$* clean - -$(VMS_LIBS:%=%_dist): %_dist: - make -f Makefile -C $(VMS_PATH)/lib/$* dist - -$(VMS_LIBS:%=%_install): %_install: - make -f Makefile -C $(VMS_PATH)/lib/$* install - -.PHONY: $(VMS_LIBS) $(VMS_LIBS:%=%_implib) $(VMS_LIBS:%=%_clean) $(VMS_LIBS:%=%_install) $(VMS_LIBS:%=%_dist) - - -# -# VMS+ Programs -# -$(VMS_APPS): %: - make -f Makefile -C $(VMS_PATH)/apps/$* - -$(VMS_APPS:%=%_implib): %_implib: - make -f Makefile -C $(VMS_PATH)/apps/$* implib - -$(VMS_APPS:%=%_clean): %_clean: - make -f Makefile -C $(VMS_PATH)/apps/$* clean - -$(VMS_APPS:%=%_dist): %_dist: - make -f Makefile -C $(VMS_PATH)/apps/$* dist - -$(VMS_APPS:%=%_install): %_install: - make -f Makefile -C $(VMS_PATH)/apps/$* install - -.PHONY: $(VMS_APPS) $(VMS_APPS:%=%_implib) $(VMS_APPS:%=%_clean) $(VMS_APPS:%=%_install) $(VMS_APPS:%=%_dist) - - -etags: - find . -name "*.[ch]" -print | etags --language=c - - -# EOF +all: + @echo To build "vms" there are two paths: + @echo --- + @echo 1. copy the vms folder into the reactos\modules folder + @echo 2. link reactos/modules/vms to vms + @echo UNIX + @echo cd $${ROS_SRC_ROOT}/reactos/modules + @echo ln -s $${ROS_SRC_ROOT}/vms vms + @echo WINDOWS + @echo cd %%ROS_SRC_ROOT%%\reactos\modules + @echo junction vms %%ROS_SRC_ROOT%%\vms + @echo --- + @echo Eventually you can run "make depends" in the %%ROS_SRC_ROOT%%\reactos + @echo directory to compile it. diff --git a/vms/readme.txt b/vms/readme.txt new file mode 100644 index 00000000000..7760e6e7bcd --- /dev/null +++ b/vms/readme.txt @@ -0,0 +1,5 @@ +$Id$ + +This directory contains the ReactOS VMS personality. +Make sure you also have a copy of the rest of the ReactOS +source before you attempt to build anything in this module. diff --git a/vms/server/vmsss.c b/vms/server/dllmain.c similarity index 68% rename from vms/server/vmsss.c rename to vms/server/dllmain.c index 4f807353393..61b87c63efc 100644 --- a/vms/server/vmsss.c +++ b/vms/server/dllmain.c @@ -1,46 +1,50 @@ -/* $Id: $ - * - * vmsss.c - VMS Enviroment Subsystem Server - * - * ReactOS Operating System - * - * -------------------------------------------------------------------- - * - * This software is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License as - * published by the Free Software Foundation; either version 2 of the - * License, or (at your option) any later version. - * - * This software 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 - * General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this software; see the file COPYING.LIB. If not, write - * to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, - * MA 02139, USA. - * - * -------------------------------------------------------------------- - */ -#include "vmsss.h" - -#define NDEBUG -#include - -/* Native image's entry point */ - -VOID STDCALL -NtProcessStartup(PPEB Peb) -{ - NTSTATUS Status = STATUS_SUCCESS; - - Status = VmsInitializeServer(); - if(STATUS_SUCCESS != Status) - { - DPRINT("VMS: VmsInitializeServer failed! Aborting. (Status=%lx)\n", Status); - } - Status = VmsRunServer(); - NtTerminateProcess(NtCurrentProcess(),Status); -} -/* EOF */ +/* $Id$ + * + * dllmain.c - VMS Enviroment Subsystem Server + * + * ReactOS Operating System + * + * -------------------------------------------------------------------- + * + * This software is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License as + * published by the Free Software Foundation; either version 2 of the + * License, or (at your option) any later version. + * + * This software 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 + * General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this software; see the file COPYING.LIB. If not, write + * to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, + * MA 02139, USA. + * + * -------------------------------------------------------------------- + */ +#include "vmssrv.h" + +#define NDEBUG +#include + +/* DLL entry point */ + +HANDLE VmsSrvDllHandle = 0; + +/* FUNCTIONS *****************************************************************/ + +BOOL STDCALL +DllMain(HANDLE hDll, + DWORD dwReason, + LPVOID lpReserved) +{ + if (DLL_PROCESS_ATTACH == dwReason) + { + VmsSrvDllHandle = hDll; + } + + return TRUE; +} + +/* EOF */ diff --git a/vms/server/init.c b/vms/server/init.c deleted file mode 100644 index fb712ee723f..00000000000 --- a/vms/server/init.c +++ /dev/null @@ -1,275 +0,0 @@ -/* $Id: $ - * - * init.c - VMS Enviroment Subsystem Server - Initialization - * - * ReactOS Operating System - * - * -------------------------------------------------------------------- - * - * This software is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License as - * published by the Free Software Foundation; either version 2 of the - * License, or (at your option) any later version. - * - * This software 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 - * General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this software; see the file COPYING.LIB. If not, write - * to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, - * MA 02139, USA. - * - * -------------------------------------------------------------------- - */ -#include "vmsss.h" - -//#define NDEBUG -#include - - -HANDLE VmsSbApiPort = (HANDLE) 0; // \VMS\SbApiPort -HANDLE SmCalledBack = (HANDLE) 0; // signalled when SM connects to \VMS\SbApiPort -HANDLE SmVmsSbApiPort = (HANDLE) 0; // server side (our one) port for SM conn request -HANDLE SmApiPort = (HANDLE) 0; // client side of \SmApiPort - -HANDLE VmsSessionPort = (HANDLE) 0; // pseudo terminals call here for a new session -HANDLE VmsApiPort = (HANDLE) 0; // VMS processes call here for system calls - -/********************************************************************** - * SB API Port Thread - *********************************************************************/ -static VOID STDCALL -VmsSbApiPortThread (PVOID x) -{ - HANDLE Port = (HANDLE) x; - NTSTATUS Status = STATUS_SUCCESS; - LPC_MAX_MESSAGE ConnectionRequest = {{0}}; - - DPRINT("VMS: %s: called\n", __FUNCTION__); - - Status = NtListenPort (Port, & ConnectionRequest.Header); - if(!NT_SUCCESS(Status)) - { - DPRINT("VMS: %s: NtListenPort failed (Status=0x%08lx)\n", - __FUNCTION__, Status); - }else{ - DPRINT("VMS: %s received a connection request\n", __FUNCTION__); - Status = NtAcceptConnectPort (& SmVmsSbApiPort, - 0, - & ConnectionRequest.Header, - TRUE, /* accept it */ - NULL, - NULL); - if(!NT_SUCCESS(Status)) - { - DPRINT("VMS: %s: NtAcceptConnectPort failed (Status=0x%08lx)\n", - __FUNCTION__, Status); - }else{ - DPRINT("VMS: %s accepted the connection request\n", __FUNCTION__); - Status = NtCompleteConnectPort (SmVmsSbApiPort); - if(!NT_SUCCESS(Status)) - { - DPRINT("VMS: %s: NtCompleteConnectPort failed (Status=0x%08lx)\n", - __FUNCTION__, Status); - }else{ - DPRINT("VMS: %s completed the connection request\n", __FUNCTION__); - Status = NtSetEvent (SmCalledBack, NULL); - DPRINT("VMS: %s signalled the main thread to initialize the subsystem\n", __FUNCTION__); - DPRINT("VMS: %s enters main loop\n", __FUNCTION__); - while (TRUE) - { - } - } - } - } - NtClose (Port); - NtTerminateThread (NtCurrentThread(), Status); -} -/********************************************************************** - * API Port Thread - *********************************************************************/ -static VOID STDCALL -VmsApiPortThread (PVOID x) -{ - HANDLE Port = (HANDLE) x; - NTSTATUS Status = STATUS_SUCCESS; - - DPRINT("VMS: %s: called\n", __FUNCTION__); - while (TRUE) - { - } - NtClose (Port); - NtTerminateThread (NtCurrentThread(), Status); -} - -/********************************************************************** - * NAME PRIVATE - * VmspCreateObDirectory/1 - */ -static NTSTATUS FASTCALL -VmspCreateObDirectory (PWSTR DirectoryName) -{ - UNICODE_STRING usDirectoryName = {0}; - OBJECT_ATTRIBUTES DirectoryAttributes = {0}; - NTSTATUS Status = STATUS_SUCCESS; - HANDLE hDirectory = (HANDLE) 0; - - DPRINT("VMS: %s called\n", __FUNCTION__); - - RtlInitUnicodeString (& usDirectoryName, - DirectoryName); - InitializeObjectAttributes (& DirectoryAttributes, - & usDirectoryName, - 0, NULL, NULL); - Status = NtCreateDirectoryObject (& hDirectory, - DIRECTORY_CREATE_SUBDIRECTORY, - & DirectoryAttributes); - if(!NT_SUCCESS(Status)) - { - DPRINT("VMS: %s: NtCreateDirectoryObject failed (Status=0x%08lx)\n", - __FUNCTION__, Status); - return Status; - } - NtClose (hDirectory); - return STATUS_SUCCESS; -} - -/********************************************************************** - * NAME PRIVATE - * VmspCreatePort/1 - */ -static NTSTATUS STDCALL -VmspCreatePort (IN OUT PHANDLE pPortHandle, - IN PWSTR PortName, - IN ULONG MaxDataSize, - IN ULONG MaxMessageSize, - IN PTHREAD_START_ROUTINE ListeningThread) -{ - UNICODE_STRING usPortName = {0}; - OBJECT_ATTRIBUTES PortAttributes = {0}; - NTSTATUS Status = STATUS_SUCCESS; - - DPRINT("VMS: %s called\n", __FUNCTION__); - - if(NULL == ListeningThread) - { - return STATUS_INVALID_PARAMETER; - } - - RtlInitUnicodeString (& usPortName, PortName); - Status = NtCreatePort (pPortHandle, - & PortAttributes, - MaxDataSize, - MaxMessageSize, - 0); - if(!NT_SUCCESS(Status)) - { - DPRINT("VMS: %s: NtCreatePort failed (Status=0x%08lx)\n", __FUNCTION__, Status); - return Status; - } - Status = RtlCreateUserThread (NtCurrentProcess(), - NULL, - FALSE, - 0, 0, 0, - ListeningThread, - pPortHandle, - NULL, NULL); - if(!NT_SUCCESS(Status)) - { - DPRINT("VMS: %s: RtlCreateUserThread failed (Status=0x%08lx)\n", __FUNCTION__, Status); - return Status; - } - return Status; -} - -/********************************************************************** - * VmsInitializeServer/0 - */ -NTSTATUS -VmsInitializeServer(VOID) -{ - NTSTATUS Status = STATUS_SUCCESS; - WCHAR NameBuffer [32]; - - DPRINT("VMS: %s called\n", __FUNCTION__); - - /* Create the \VMS directory */ - wcscpy (NameBuffer, L"\\VMS"); - Status = VmspCreateObDirectory (NameBuffer); - if(!NT_SUCCESS(Status)) - { - DPRINT("VMS: %s: VmspCreateObDirectory failed!\n", __FUNCTION__); - }else{ - /* Create the \VMS\SbApiPort port */ - wcscat (NameBuffer, L"\\SbApiPort"); - Status = VmspCreatePort (& VmsSbApiPort, - NameBuffer, - 0x104, - 0x148, - VmsSbApiPortThread); - if(!NT_SUCCESS(Status)) - { - DPRINT("VMS %s: VmspCreatePort failed (Status=%08lx)\n", - __FUNCTION__, Status); - return Status; - }else{ - OBJECT_ATTRIBUTES EventAttributes; - - InitializeObjectAttributes (& EventAttributes, - NULL, - 0, - NULL, - NULL); - Status = NtCreateEvent (& SmCalledBack, - EVENT_ALL_ACCESS, - & EventAttributes, - SynchronizationEvent, - FALSE); - if(!NT_SUCCESS(Status)) - { - DPRINT("VMS: %s: NtCreateEvent failed (Status=0x%08lx)\n", - __FUNCTION__, Status); - return Status; - }else{ - UNICODE_STRING VmsSbApiPortName; - - RtlInitUnicodeString (& VmsSbApiPortName, NameBuffer); - Status = SmConnectApiPort (& VmsSbApiPortName, - VmsSbApiPort, - 77, /* VMS CUI */ - & SmApiPort); - if(!NT_SUCCESS(Status)) - { - DPRINT("VMS: %s: SmConnectApiPort failed (Status=0x%08lx)\n", - __FUNCTION__, Status); - return Status; - }else{ - Status = NtWaitForSingleObject (SmCalledBack, - FALSE, - INFINITE); - /* OK initialize the VMS subsystem */ - wcscpy (& NameBuffer[4], L"\\ApiPort"); - Status = VmspCreatePort (& VmsApiPort, - NameBuffer, - 0x104, - 0x148, - VmsApiPortThread); - /* TODO */ - - wcscpy (& NameBuffer[4], L"\\Session"); - Status = VmspCreateObDirectory (NameBuffer); - /* TODO */ - - Status = SmCompleteSession (SmApiPort, - VmsSbApiPort, - VmsApiPort); - } - } - } - } - return STATUS_SUCCESS; -} - -/* EOF */ diff --git a/vms/server/makefile b/vms/server/makefile index 66d447d1b72..aa14055fa8d 100644 --- a/vms/server/makefile +++ b/vms/server/makefile @@ -1,24 +1,24 @@ -# $Id: $ -# -# ReactOS VMS+ Environment Subsystem Server -# - -PATH_TO_TOP = ../../reactos - -TARGET_TYPE = program - -TARGET_APPTYPE = native - -TARGET_NAME = vmsss - -TARGET_SDKLIBS = ntdll.a smdll.a - -TARGET_CFLAGS = -Iinclude -I../include - -TARGET_OBJECTS = vmsss.o init.o server.o - -include $(PATH_TO_TOP)/rules.mak - -include $(TOOLS_PATH)/helper.mk - -# EOF +# $Id$ +# +# ReactOS VMS+ Environment Subsystem Server +# + +PATH_TO_TOP = ../../reactos + +TARGET_TYPE = program + +TARGET_APPTYPE = native + +TARGET_NAME = vmsss + +TARGET_SDKLIBS = ntdll.a smdll.a + +TARGET_CFLAGS = -Iinclude -I../include + +TARGET_OBJECTS = vmsss.o init.o server.o + +include $(PATH_TO_TOP)/rules.mak + +include $(TOOLS_PATH)/helper.mk + +# EOF diff --git a/vms/server/server.c b/vms/server/server.c index eb49b14deaa..335f1c132a6 100644 --- a/vms/server/server.c +++ b/vms/server/server.c @@ -1,68 +1,78 @@ -/* $Id: $ - * - * init.c - VMS Enviroment Subsystem Server - Initialization - * - * ReactOS Operating System - * - * -------------------------------------------------------------------- - * - * This software is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License as - * published by the Free Software Foundation; either version 2 of the - * License, or (at your option) any later version. - * - * This software 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 - * General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this software; see the file COPYING.LIB. If not, write - * to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, - * MA 02139, USA. - * - * -------------------------------------------------------------------- - */ -#define __USE_NT_LPC__ -#include "vmsss.h" - -//#define NDEBUG -#include - - -/********************************************************************** - * NAME PRIVATE - * VmspCreatePort/1 - */ -NTSTATUS VmsRunServer (VOID) -{ - NTSTATUS Status = STATUS_SUCCESS; - LPC_MAX_MESSAGE Request; - PLPC_MESSAGE Reply = NULL; - ULONG MessageType = 0; - - while (TRUE) - { - Status = NtReplyWaitReceivePort (VmsApiPort, - 0, - Reply, - & Request); - if(NT_SUCCESS(Status)) - { - MessageType = PORT_MESSAGE_TYPE(Request); - DPRINT("VMS: %s received a message (Type=%d)\n", - __FUNCTION__, MessageType); - switch(MessageType) - { - default: - continue; - } - }else{ - DPRINT("VMS: %s: NtReplyWaitReceivePort failed (Status=%08lx)\n", - __FUNCTION__, Status); - } - } - return Status; -} - -/* EOF */ +/* $Id$ + * + * server.c - VMS Enviroment Subsystem Server - Initialization + * + * ReactOS Operating System + * + * -------------------------------------------------------------------- + * + * This software is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License as + * published by the Free Software Foundation; either version 2 of the + * License, or (at your option) any later version. + * + * This software 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 + * General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this software; see the file COPYING.LIB. If not, write + * to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, + * MA 02139, USA. + * + * -------------------------------------------------------------------- + */ +#include "vmssrv.h" + +//#define NDEBUG +#include + +HANDLE VmsApiPort = NULL; + +/********************************************************************** + * NAME PRIVATE + * VmspCreatePort/1 + */ +NTSTATUS VmsStaticServerThread (PVOID x) +{ + NTSTATUS Status = STATUS_SUCCESS; + LPC_MAX_MESSAGE Request; + PPORT_MESSAGE Reply = NULL; + ULONG MessageType = 0; + + while (TRUE) + { + Status = NtReplyWaitReceivePort (VmsApiPort, + 0, + Reply, + (PPORT_MESSAGE) & Request); + if(NT_SUCCESS(Status)) + { + MessageType = Request.Header.u2.s2.Type; + DPRINT("VMS: %s received a message (Type=%d)\n", + __FUNCTION__, MessageType); + switch(MessageType) + { + default: + continue; + } + }else{ + DPRINT("VMS: %s: NtReplyWaitReceivePort failed (Status=%08lx)\n", + __FUNCTION__, Status); + } + } + return Status; +} + +/*===================================================================== + * PUBLIC API + *===================================================================*/ + +NTSTATUS STDCALL ServerDllInitialization (ULONG ArgumentCount, + LPWSTR *Argument) +{ + return CsrAddStaticServerThread (); +} + +/* EOF */ diff --git a/vms/server/vmssrv.def b/vms/server/vmssrv.def new file mode 100644 index 00000000000..7adfbfe3564 --- /dev/null +++ b/vms/server/vmssrv.def @@ -0,0 +1,3 @@ +LIBRARY vmssrv.dll +EXPORTS +ServerDllInitialization@8 diff --git a/vms/server/vmssrv.h b/vms/server/vmssrv.h new file mode 100644 index 00000000000..d1e73118984 --- /dev/null +++ b/vms/server/vmssrv.h @@ -0,0 +1,13 @@ +#ifndef _VMSSS_H_INCLUDED_ +#define _VMSSS_H_INCLUDED_ + +/* PSDK/NDK Headers */ +#include +#include + +#define NTOS_MODE_USER +#include + +#include + +#endif /* ndef _VMSSS_H_INCLUDED_ */ diff --git a/vms/server/vmsss.rc b/vms/server/vmssrv.rc similarity index 98% rename from vms/server/vmsss.rc rename to vms/server/vmssrv.rc index 82ae31e9cae..86aedb2e833 100644 --- a/vms/server/vmsss.rc +++ b/vms/server/vmssrv.rc @@ -1,4 +1,4 @@ -#define REACTOS_STR_FILE_DESCRIPTION "ReactOS/VMS Environment Subsystem Server\0" -#define REACTOS_STR_INTERNAL_NAME "vmsss\0" -#define REACTOS_STR_ORIGINAL_FILENAME "vmsss.exe\0" -#include +#define REACTOS_STR_FILE_DESCRIPTION "ReactOS/VMS Environment Subsystem Server\0" +#define REACTOS_STR_INTERNAL_NAME "vmsss\0" +#define REACTOS_STR_ORIGINAL_FILENAME "vmsss.exe\0" +#include diff --git a/vms/server/vmssrv.xml b/vms/server/vmssrv.xml new file mode 100644 index 00000000000..3e2efe903f7 --- /dev/null +++ b/vms/server/vmssrv.xml @@ -0,0 +1,11 @@ + + + . + + + ntdll + csrsrv + dllmain.c + server.c + vmssrv.rc + diff --git a/vms/server/vmsss.h b/vms/server/vmsss.h deleted file mode 100644 index 57c34cd5c3c..00000000000 --- a/vms/server/vmsss.h +++ /dev/null @@ -1,15 +0,0 @@ -#ifndef _VMSSS_H_INCLUDED_ -#define _VMSSS_H_INCLUDED_ - -#define NTOS_MODE_USER -#include -#include - -/* init.c */ -extern HANDLE VmsApiPort; -NTSTATUS VmsInitializeServer(VOID); - -/* server.c */ -NTSTATUS VmsRunServer(VOID); - -#endif /* ndef _VMSSS_H_INCLUDED_ */ diff --git a/vms/tools/directory.xml b/vms/tools/directory.xml new file mode 100644 index 00000000000..fc962ed2317 --- /dev/null +++ b/vms/tools/directory.xml @@ -0,0 +1,3 @@ + + + diff --git a/vms/tools/mksystab/makefile b/vms/tools/mksystab/makefile deleted file mode 100644 index 32959745953..00000000000 --- a/vms/tools/mksystab/makefile +++ /dev/null @@ -1,5 +0,0 @@ -all: implib - -implib: - -clean: diff --git a/vms/tools/mksystab/mksystab.xml b/vms/tools/mksystab/mksystab.xml new file mode 100644 index 00000000000..e69de29bb2d