383{
385
391
398
399#ifdef __REACTOS__
400
401 {
403 if (hSvcMan)
404 {
406 if (hSvc)
407 {
411 {
413 {
414 dprintf(1,
"NFS41 driver started\n");
415 }
416 else
417 {
419 }
420 }
421 else
422 {
424 }
425
427 }
428 else
429 {
431 }
432
434 }
435 else
436 {
438 }
439 }
440#endif
441
442#ifdef _DEBUG
443
444
447#pragma warning (push)
448#pragma warning (disable : 4306)
450#pragma warning (pop)
451 dprintf(1,
"debug mode. dumping memory leaks to stderr on exit.\n");
452#endif
453
454
457
459
463 eprintf(
"id mapping initialization failed with %d\n",
status);
464 goto out_logs;
465 }
466 }
467
470
475 {
477 goto out_idmap;
478 }
479
480 dprintf(1,
"starting nfs41 mini redirector\n");
484 eprintf(
"IOCTL_NFS41_START failed with %d\n",
486 goto out_pipe;
487 }
488
489#ifndef STANDALONE_NFSD
492 goto out_pipe;
493#endif
494
497 idmapper, 0, &tids[
i].
tid);
501 goto out_pipe;
502 }
503 }
504#ifndef STANDALONE_NFSD
505
507 goto out_pipe;
509#else
510
511 dprintf(1,
"Parent waiting for children threads\n");
514#endif
515 dprintf(1,
"Parent woke up!!!!\n");
516
517out_pipe:
519out_idmap:
521out_logs:
522#ifndef STANDALONE_NFSD
524#endif
525 return;
526}
BOOL ReportStatusToSCMgr(DWORD dwCurrentState, DWORD dwWin32ExitCode, DWORD dwWaitHint)
#define _CRTDBG_MODE_FILE
#define _CRTDBG_LEAK_CHECK_DF
#define _CrtSetReportMode(t, f)
#define _CRTDBG_FILE_STDERR
#define _CrtSetDbgFlag(f)
#define _CRTDBG_ALLOC_MEM_DF
#define _CrtSetReportFile(t, f)
void eprintf(LPCSTR format,...)
void set_debug_level(int level)
BOOL WINAPI DeviceIoControl(IN HANDLE hDevice, IN DWORD dwIoControlCode, IN LPVOID lpInBuffer OPTIONAL, IN DWORD nInBufferSize OPTIONAL, OUT LPVOID lpOutBuffer OPTIONAL, IN DWORD nOutBufferSize OPTIONAL, OUT LPDWORD lpBytesReturned OPTIONAL, IN LPOVERLAPPED lpOverlapped OPTIONAL)
#define INVALID_HANDLE_VALUE
DWORD WINAPI GetTickCount(VOID)
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint i
int nfs41_idmap_create(struct idmap_context **context_out)
void nfs41_idmap_free(struct idmap_context *context)
void nfs41_server_list_init()
static unsigned int WINAPI thread_main(void *args)
static bool_t check_for_files()
static int getdomainname()
static bool_t parse_cmdlineargs(int argc, TCHAR *argv[], nfsd_args *out)
#define IOCTL_NFS41_START
#define NFS41_USER_DEVICE_NAME_A
BOOL WINAPI QueryServiceStatus(SC_HANDLE hService, LPSERVICE_STATUS lpServiceStatus)
BOOL WINAPI CloseServiceHandle(SC_HANDLE hSCObject)
_CRTIMP uintptr_t __cdecl _beginthreadex(_In_opt_ void *_Security, _In_ unsigned _StackSize, _In_ unsigned(__stdcall *_StartAddress)(void *), _In_opt_ void *_ArgList, _In_ unsigned _InitFlag, _Out_opt_ unsigned *_ThrdAddr)
DWORD WINAPI WaitForSingleObject(IN HANDLE hHandle, IN DWORD dwMilliseconds)
#define SERVICE_ALL_ACCESS
#define SC_MANAGER_ALL_ACCESS