ReactOS  0.4.14-dev-554-g2f8d847
format.c
Go to the documentation of this file.
1 /*
2  * ReactOS kernel
3  * Copyright (C) 2003 ReactOS Team
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; either version 2 of the License, or
8  * (at your option) any later version.
9  *
10  * This program is distributed in the hope that it will be useful,
11  * but WITHOUT ANY WARRANTY; without even the implied warranty of
12  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13  * GNU General Public License for more details.
14  *
15  * You should have received a copy of the GNU General Public License along
16  * with this program; if not, write to the Free Software Foundation, Inc.,
17  * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
18  */
19 /* COPYRIGHT: See COPYING in the top level directory
20  * PROJECT: ReactOS text-mode setup
21  * FILE: base/setup/usetup/format.c
22  * PURPOSE: Filesystem format support functions
23  * PROGRAMMER: Casper S. Hornstrup (chorns@users.sourceforge.net)
24  */
25 
26 /* INCLUDES *****************************************************************/
27 
28 #include "usetup.h"
29 
30 #define NDEBUG
31 #include <debug.h>
32 
34 
35 /* FUNCTIONS ****************************************************************/
36 
37 static
38 BOOLEAN
39 NTAPI
42  IN ULONG Modifier,
43  IN PVOID Argument)
44 {
45  switch (Command)
46  {
47  case PROGRESS:
48  {
49  PULONG Percent;
50 
51  Percent = (PULONG)Argument;
52  DPRINT("%lu percent completed\n", *Percent);
53 
55  break;
56  }
57 
58  /*case OUTPUT:
59  {
60  PTEXTOUTPUT Output;
61  output = (PTEXTOUTPUT) Argument;
62  DPRINT("%s\n", output->Output);
63  break;
64  }*/
65 
66  case DONE:
67  {
68  /*PBOOLEAN Success;*/
69  DPRINT("Done\n");
70 
71  /*Success = (PBOOLEAN)Argument;
72  if (*Success == FALSE)
73  {
74  DPRINT("FormatEx was unable to complete successfully.\n\n");
75  }*/
76  break;
77  }
78 
79  default:
80  DPRINT("Unknown callback %lu\n", (ULONG)Command);
81  break;
82  }
83 
84  return TRUE;
85 }
86 
87 
90  IN PUNICODE_STRING DriveRoot,
91  IN PCWSTR FileSystemName,
93 {
95 
97  yScreen - 14,
98  xScreen - 7,
99  yScreen - 10,
100  10,
101  24,
102  TRUE,
104 
106 
107  Status = FormatFileSystem_UStr(DriveRoot,
108  FileSystemName,
109  FMIFS_HARDDISK, /* MediaFlag */
110  NULL, /* Label */
111  QuickFormat, /* QuickFormat */
112  0, /* ClusterSize */
113  FormatCallback); /* Callback */
114 
117 
118  DPRINT("FormatPartition() finished with status 0x%08lx\n", Status);
119 
120  return Status;
121 }
122 
123 /* EOF */
NTSTATUS FormatPartition(IN PUNICODE_STRING DriveRoot, IN PCWSTR FileSystemName, IN BOOLEAN QuickFormat)
Definition: format.c:89
const uint16_t * PCWSTR
Definition: typedefs.h:55
#define IN
Definition: typedefs.h:38
#define TRUE
Definition: types.h:120
SHORT xScreen
Definition: consup.c:39
LONG NTSTATUS
Definition: precomp.h:26
Definition: fmifs.h:68
VOID ProgressSetStep(IN PPROGRESSBAR Bar, IN ULONG Step)
Definition: progress.c:368
VOID DestroyProgressBar(IN OUT PPROGRESSBAR Bar)
Definition: progress.c:339
Definition: shell.h:41
CALLBACKCOMMAND
Definition: fmifs.h:66
NTSTATUS(* NTAPI)(IN PFILE_FULL_EA_INFORMATION EaBuffer, IN ULONG EaLength, OUT PULONG ErrorOffset)
Definition: IoEaTest.cpp:117
VOID ProgressSetStepCount(IN PPROGRESSBAR Bar, IN ULONG StepCount)
Definition: progress.c:347
unsigned char BOOLEAN
smooth NULL
Definition: ftsmooth.c:416
void DPRINT(...)
Definition: polytest.cpp:61
BOOL QuickFormat
Definition: format.c:66
#define STRING_FORMATTINGDISK
Definition: mui.h:110
LPSTR MUIGetString(ULONG Number)
Definition: mui.c:230
SHORT yScreen
Definition: consup.c:40
PPROGRESSBAR CreateProgressBar(IN SHORT Left, IN SHORT Top, IN SHORT Right, IN SHORT Bottom, IN SHORT TextTop, IN SHORT TextRight, IN BOOLEAN DoubleEdge, IN PCSTR DescriptionText OPTIONAL)
Definition: progress.c:317
Status
Definition: gdiplustypes.h:24
unsigned int * PULONG
Definition: retypes.h:1
static BOOLEAN NTAPI FormatCallback(IN CALLBACKCOMMAND Command, IN ULONG Modifier, IN PVOID Argument)
Definition: format.c:40
static PPROGRESSBAR FormatProgressBar
Definition: format.c:33
NTSTATUS FormatFileSystem_UStr(IN PUNICODE_STRING DriveRoot, IN PCWSTR FileSystemName, IN FMIFS_MEDIA_FLAG MediaFlag, IN PUNICODE_STRING Label, IN BOOLEAN QuickFormat, IN ULONG ClusterSize, IN PFMIFSCALLBACK Callback)
Definition: fsutil.c:402
unsigned int ULONG
Definition: retypes.h:1
#define DONE
Definition: rnr20lib.h:14