Sweden-Number/files/change.c
Alexandre Julliard 9caa71eef4 Redesign of the server communication protocol to allow arbitrary sized
data to be exchanged.
Split request and reply structures to make backwards compatibility
easier.
Moved many console functions to dlls/kernel, added code page support,
changed a few requests to behave properly with the new protocol.
2001-11-30 18:46:42 +00:00

76 lines
2.2 KiB
C

/*
* Win32 file change notification functions
*
* FIXME: this is VERY difficult to implement with proper Unix support
* at the wineserver side.
* (Unix doesn't really support this)
* See http://x57.deja.com/getdoc.xp?AN=575483053 for possible solutions.
*
* Copyright 1998 Ulrich Weigand
*/
#include <assert.h>
#include <stdlib.h>
#include <unistd.h>
#include <string.h>
#include <time.h>
#include "winbase.h"
#include "winerror.h"
#include "heap.h"
#include "wine/server.h"
#include "debugtools.h"
DEFAULT_DEBUG_CHANNEL(file);
/****************************************************************************
* FindFirstChangeNotificationA (KERNEL32.@)
*/
HANDLE WINAPI FindFirstChangeNotificationA( LPCSTR lpPathName, BOOL bWatchSubtree,
DWORD dwNotifyFilter )
{
HANDLE ret = INVALID_HANDLE_VALUE;
FIXME("this is not supported yet (non-trivial).\n");
SERVER_START_REQ( create_change_notification )
{
req->subtree = bWatchSubtree;
req->filter = dwNotifyFilter;
if (!wine_server_call_err( req )) ret = reply->handle;
}
SERVER_END_REQ;
return ret;
}
/****************************************************************************
* FindFirstChangeNotificationW (KERNEL32.@)
*/
HANDLE WINAPI FindFirstChangeNotificationW( LPCWSTR lpPathName,
BOOL bWatchSubtree,
DWORD dwNotifyFilter)
{
LPSTR nameA = HEAP_strdupWtoA( GetProcessHeap(), 0, lpPathName );
HANDLE ret = FindFirstChangeNotificationA( nameA, bWatchSubtree,
dwNotifyFilter );
if (nameA) HeapFree( GetProcessHeap(), 0, nameA );
return ret;
}
/****************************************************************************
* FindNextChangeNotification (KERNEL32.@)
*/
BOOL WINAPI FindNextChangeNotification( HANDLE handle )
{
/* FIXME: do something */
return TRUE;
}
/****************************************************************************
* FindCloseChangeNotification (KERNEL32.@)
*/
BOOL WINAPI FindCloseChangeNotification( HANDLE handle)
{
return CloseHandle( handle );
}