1
0
mirror of https://github.com/samba-team/samba.git synced 2024-12-24 21:34:56 +03:00

r21090: Add some helper routines

(This used to be commit 985dde8ed0)
This commit is contained in:
Volker Lendecke 2007-01-31 14:28:08 +00:00 committed by Gerald (Jerry) Carter
parent 697ccab3f0
commit 3af5838096
3 changed files with 60 additions and 0 deletions

View File

@ -521,6 +521,44 @@ static void notify_message_callback(int msgtype, struct process_id pid,
}
}
char *notify_filter_string(TALLOC_CTX *mem_ctx, uint32 filter)
{
char *result = NULL;
result = talloc_strdup(mem_ctx, "");
if (filter & FILE_NOTIFY_CHANGE_FILE_NAME)
result = talloc_asprintf_append(result, "FILE_NAME|");
if (filter & FILE_NOTIFY_CHANGE_DIR_NAME)
result = talloc_asprintf_append(result, "DIR_NAME|");
if (filter & FILE_NOTIFY_CHANGE_ATTRIBUTES)
result = talloc_asprintf_append(result, "ATTRIBUTES|");
if (filter & FILE_NOTIFY_CHANGE_SIZE)
result = talloc_asprintf_append(result, "SIZE|");
if (filter & FILE_NOTIFY_CHANGE_LAST_WRITE)
result = talloc_asprintf_append(result, "LAST_WRITE|");
if (filter & FILE_NOTIFY_CHANGE_LAST_ACCESS)
result = talloc_asprintf_append(result, "LAST_ACCESS|");
if (filter & FILE_NOTIFY_CHANGE_CREATION)
result = talloc_asprintf_append(result, "CREATION|");
if (filter & FILE_NOTIFY_CHANGE_EA)
result = talloc_asprintf_append(result, "EA|");
if (filter & FILE_NOTIFY_CHANGE_SECURITY)
result = talloc_asprintf_append(result, "SECURITY|");
if (filter & FILE_NOTIFY_CHANGE_STREAM_NAME)
result = talloc_asprintf_append(result, "STREAM_NAME|");
if (filter & FILE_NOTIFY_CHANGE_STREAM_SIZE)
result = talloc_asprintf_append(result, "STREAM_SIZE|");
if (filter & FILE_NOTIFY_CHANGE_STREAM_WRITE)
result = talloc_asprintf_append(result, "STREAM_WRITE|");
if (result == NULL) return NULL;
if (*result == '\0') return result;
result[strlen(result)-1] = '\0';
return result;
}
/****************************************************************************
Initialise the change notify subsystem.
****************************************************************************/

View File

@ -71,6 +71,17 @@ struct event_context *smbd_event_context(void)
return ctx;
}
struct messaging_context *smbd_messaging_context(void)
{
static struct messaging_context *ctx;
if (!ctx && !(ctx = messaging_init(NULL, server_id_self(),
smbd_event_context()))) {
smb_panic("Could not init smbd messaging context\n");
}
return ctx;
}
/*******************************************************************
What to do when smb.conf is updated.
********************************************************************/

View File

@ -489,6 +489,17 @@ struct event_context *smbd_event_context(void)
return ctx;
}
struct messaging_context *smbd_messaging_context(void)
{
static struct messaging_context *ctx;
if (!ctx && !(ctx = messaging_init(NULL, server_id_self(),
smbd_event_context()))) {
smb_panic("Could not init smbd messaging context\n");
}
return ctx;
}
/* Main function */
int main(int argc, char *argv[])