home *** CD-ROM | disk | FTP | other *** search
- /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
- /* |_o_o|\\ Copyright (c) 1987, 1988 The Software Distillery. All Rights */
- /* |. o.| || Reserved. This program may not be distributed without the */
- /* | . | || permission of the authors: BBS: */
- /* | o | || John Toebes Doug Walker Dave Baker */
- /* | . |// */
- /* ====== */
- /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
- /* Directory Manipulation */
- /* RmtCreateDir RmtExamine RmtExNext RmtParent */
- #include "server.h"
-
- void RmtCreateDir(global,pkt)
- GLOBAL global;
- struct DosPacket *pkt;
- /* Arg1 - Lock */
- /* Arg2 - name */
- /* Arg3 (optional) Attributes */
- {
- BUG(("RmtCreateDir\n"));
- BUGBSTR("Creating directory '%s'\n", global->RP.Data);
-
- pkt->dp_Arg1 = global->RP.Arg1;
- MBSTR(global->RP.Data, global->fib);
- pkt->dp_Arg2 = (LONG)MKBADDR(global->fib);
- pkt->dp_Arg3 = global->RP.Arg3;
-
- Dispatch(global);
-
- global->RP.DLen = 0;
- }
-
- void RmtExamine(global, pkt)
- GLOBAL global;
- struct DosPacket *pkt;
- /* Arg1: Lock of object to examine */
- /* Arg2: FileInfoBlock to fill in */
- {
- #if DEBUG
- struct FileInfoBlock *fib;
- #endif
- BUG(("RmtExamine/RmtExNext - lock %lx\n", global->RP.Arg1));
-
- pkt->dp_Arg1 = global->RP.Arg1;
- pkt->dp_Arg2 = (LONG)MKBADDR(global->fib);
- MQ(global->RP.Data, global->fib, sizeof(struct FileInfoBlock));
-
- Dispatch(global);
-
- #if DEBUG
- fib = (struct FileInfoBlock *)global->fib;
- BUG(("RmtEx: FIB name='%s' size=%ld numblocks=%ld\n",
- fib->fib_FileName+1, fib->fib_Size, fib->fib_NumBlocks));
- #endif
-
- MQ(global->fib, global->RP.Data, sizeof(struct FileInfoBlock));
-
- global->RP.DLen = sizeof(struct FileInfoBlock);
- }
-
- void RmtParent(global,pkt)
- GLOBAL global;
- struct DosPacket *pkt;
- /* Arg1 - Lock */
- {
- BUG(("RmtParent\n"));
-
- pkt->dp_Arg1 = global->RP.Arg1;
-
- Dispatch(global);
-
- global->RP.DLen = 0;
- }
-
-