summaryrefslogtreecommitdiff
path: root/support/dktools/dkwt.h
diff options
context:
space:
mode:
Diffstat (limited to 'support/dktools/dkwt.h')
-rw-r--r--support/dktools/dkwt.h472
1 files changed, 0 insertions, 472 deletions
diff --git a/support/dktools/dkwt.h b/support/dktools/dkwt.h
deleted file mode 100644
index 0d7a9f875e..0000000000
--- a/support/dktools/dkwt.h
+++ /dev/null
@@ -1,472 +0,0 @@
-/*
-Copyright 2011-2020, Dirk Krause. All rights reserved.
-SPDX-License-Identifier: BSD-3-Clause
-*/
-
-
-/** @file dkwt.h Header file for the dkwt program.
-*/
-
-#ifndef DKWT_H_INCLUDED
-#define DKT3_H_INCLUDED 1
-
-#include <lm.h>
-#include <sddl.h>
-
-#if (_WIN32) && defined(_WIN32_WINNT) && (_WIN32_WINNT >= 0x0603)
-#if defined(_MSC_VER)
-#include <VersionHelpers.h>
-#else
-#include <versionhelpers.h>
-#endif
-#endif
-
-/** Description for one Windows account.
-*/
-typedef struct {
- dkChar const *logname; /**< Login name. */
- dkChar const *fullname; /**< Full name. */
- dkChar const *comment; /**< Account comment. */
- dkChar const *usrcomment; /**< User comment. */
- dkChar const *homedir; /**< Home directory. */
- dkChar const *profile; /**< User profile. */
- dkChar const *textsid; /**< SID as text. */
- DWORD priv; /**< usri4_priv. */
- DWORD flags; /**< usri4_flags. */
- DWORD a_flags; /**< usri4_authflags. */
- DWORD coco; /**< Country code. */
- DWORD codepage; /**< Code page. */
- int f_long; /**< Flag: Long information was found. */
-} dkwt_account_t;
-
-
-
-/** Windows group.
-*/
-typedef struct {
- dkChar const *groupname; /**< Group name. */
- dkChar const *comment; /**< Comment. */
- dkChar const *textsid; /**< SID as text. */
- DWORD attributes; /**< Attributes. */
- int gtype; /**< Group type (net or local). */
-} dkwt_group_t;
-
-
-
-/** List of Windows accounts.
-*/
-typedef struct {
- dk3_sto_t *s_acc; /**< Accounts storage. */
- dk3_sto_it_t *i_acc; /**< Accounts iterator. */
-} dkwt_account_list_t;
-
-
-
-/** List of Windows groups.
-*/
-typedef struct {
- dk3_sto_t *s_grp; /**< Groups storage. */
- dk3_sto_it_t *i_grp; /**< Groups iterator. */
-} dkwt_group_list_t;
-
-
-
-/** Printer information.
-*/
-typedef struct {
- dkChar const *printerName; /**< Printer name. */
- dkChar const *comment; /**< Comment for the printer. */
- dkChar const *description; /**< Printer description text. */
- dkChar const *location; /**< Printer location. */
- dkChar const *serverName; /**< Print server managing queue. */
- dkChar const *shareName; /**< Share name of the printer. */
- dkChar const *portName; /**< Port name. */
- dkChar const *driverName; /**< Driver name. */
- dkChar const *deviceName; /**< Device name. */
- dkChar const *separatorFile; /**< File printed to separate jobs. */
- dkChar const *printProcessor; /**< Print processor name. */
- dkChar const *dataType; /**< Print data type. */
- dkChar const *parameters; /**< Printer parameters. */
- DWORD attributes; /**< Printer attributes. */
- DWORD status; /**< Printer status. */
- DWORD nJobs; /**< Number of jobs in queue. */
-} dkwt_printer_t;
-
-
-
-/** List of printers.
-*/
-typedef struct {
- dk3_sto_t *s_prn; /**< Storage containing the printers. */
- dk3_sto_it_t *i_prn; /**< Iterator through @a s_prn storage. */
-} dkwt_printer_list_t;
-
-
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/** Function for dkwt boot|shutdown|login|logout.
- @param app Application structure.
- @param msg Localized message texts.
- @param kwnl Keywords, not localized.
- @param evt Event type: 0=boot, 1=shutdown, 2=login, 3=logout
- @return 0 on success, DKT_RESULT_ERR_xxx on error.
-*/
-int
-dkwt_event(
- dk3_app_t *app,
- dkChar const * const *msg,
- dkChar const * const *kwnl,
- int evt
-);
-
-/** Show or modify environment.
- @param app Application structure.
- @param msg Localized message texts.
- @param kwnl Keywords, not localized.
- @return 0 on success, DKT_RESULT_ERR_xxx on error.
-*/
-int
-dkwt_env(
- dk3_app_t *app,
- dkChar const * const *msg,
- dkChar const * const *kwnl
-);
-
-/** Function to keep data while boot/login/logout/shutdown.
- @param app Application structure.
- @param msg Localized message texts.
- @param kwnl Keywords, not localized.
- @return 0 on success, DKT_RESULT_ERR_xxx on error.
-*/
-int
-dkwt_event_keep(
- dk3_app_t *app,
- dkChar const * const *msg,
- dkChar const * const *kwnl
-);
-
-/** Function to reset keep flag for boot/login/logout/shutdown.
- @param app Application structure.
- @param msg Localized message texts.
- @param kwnl Keywords, not localized.
- @return 0 on success, DKT_RESULT_ERR_xxx on error.
-*/
-int
-dkwt_event_unkeep(
- dk3_app_t *app,
- dkChar const * const *msg,
- dkChar const * const *kwnl
-);
-
-/** Function for dkwt accounts.
- @param app Application structure.
- @param msg Localized message texts.
- @param kwnl Keywords, not localized.
- @return 0 on success, DKT_RESULT_ERR_xxx on error.
-*/
-int
-dkwt_accounts(
- dk3_app_t *app,
- dkChar const * const *msg,
- dkChar const * const *kwnl
-);
-
-/** Create account, allocate memory.
- @param logname Login name of user.
- @param app Application structure for diagnostics.
- @return Pointer to new account on success, NULL on error.
-*/
-dkwt_account_t *
-dkwt_tool_open_account(dkChar const *logname, dk3_app_t *app);
-
-/** Destroy account, release memory.
- @param ap Account to destroy.
-*/
-void
-dkwt_tool_close_account(dkwt_account_t *ap);
-
-/** Create account list, allocate memory.
- @param app Application structure for diagnostics.
- @param f_long Flag: Long listing required.
- @return Pointer to new list on success, NULL on error.
-*/
-dkwt_account_list_t *
-dkwt_tool_open_account_list(dk3_app_t *app, int f_long);
-
-/** Destroy account list, release memory.
- @param lp List to destroy.
-*/
-void
-dkwt_tool_close_account_list(dkwt_account_list_t *lp);
-
-/** Reset account list before traversing it.
- @param lp List to reset.
-*/
-void
-dkwt_tool_reset_account_list(dkwt_account_list_t *lp);
-
-/** Get next account from list.
- @param lp List to traverse.
- @return Pointer to next account or NULL (list end).
-*/
-dkwt_account_t *
-dkwt_tool_get_account_from_list(dkwt_account_list_t *lp);
-
-/** The dkwt groups command.
- @param app Application structure.
- @param msg Localized messages texts,
- @param kwnl Keywords, not localized.
-*/
-int
-dkwt_groups(
- dk3_app_t *app,
- dkChar const * const *msg,
- dkChar const * const *kwnl
-);
-
-/** The dkwt printers command.
- @param app Application structure.
- @param msg Localized messages texts,
- @param kwnl Keywords, not localized.
-*/
-int
-dkwt_printers(
- dk3_app_t *app,
- dkChar const * const *msg,
- dkChar const * const *kwnl
-);
-
-/** The dkwt print command.
- @param app Application structure.
- @param msg Localized message texts.
- @param kwnl Keywords, not localized.
-*/
-int
-dkwt_print(
- dk3_app_t *app,
- dkChar const * const *msg,
- dkChar const * const *kwnl
-);
-
-/** Create a new group list.
- @param app Application structure.
- @param f_long Flag: Long (full) listing.
- @return Pointer to new group list on success, NULL on error.
-*/
-dkwt_group_list_t *
-dkwt_tool_open_group_list(dk3_app_t *app, int f_long);
-
-/** Reset a group list.
- @param glp Group list to reset.
-*/
-void
-dkwt_tool_reset_group_list(dkwt_group_list_t *glp);
-
-/** Retrieve next group from list.
- @param glp Group list to traverse.
- @return Pointer to next group on success, NULL on error.
-*/
-dkwt_group_t *
-dkwt_tool_get_group_from_list(dkwt_group_list_t *glp);
-
-/** Close group list, release memory.
- @param glp Group list to close.
-*/
-void
-dkwt_tool_close_group_list(dkwt_group_list_t *glp);
-
-/** Open printer list.
- @param app Application structure.
- @param f_long Flag: Long information about printers.
- @return Pointer to new printer list on success, NULL on errors.
-*/
-dkwt_printer_list_t *
-dkwt_tool_open_printer_list(dk3_app_t *app, int f_long);
-
-/** Close printer list, release memory.
- @param pl List to close.
-*/
-void
-dkwt_tool_close_printer_list(dkwt_printer_list_t *pl);
-
-/** Reset printer list.
- @param pl Printer list to reset.
-*/
-void
-dkwt_tool_printer_list_reset(dkwt_printer_list_t *pl);
-
-/** Get next printer description from list.
- @param pl Printer list.
- @return Pointer to next printer on success, NULL on error.
-*/
-dkwt_printer_t *
-dkwt_tool_printer_list_next(dkwt_printer_list_t *pl);
-
-/** Open a registry key.
- @param key
- @param skn
- @param sam
- @param phk
- @return ERROR_SUCCESS on success, any other value indicates
- an error.
-*/
-long
-dkwt_tool_reg_open_key(
- HKEY key,
- dkChar const *skn,
- REGSAM sam,
- PHKEY phk
-);
-
-/** Query a registry value.
- @param hk Registry key.
- @param vn Value name.
- @param pDwTp Pointer to type variable (in/out).
- @param buf Pointer to result buffer.
- @param pDwSz Result buffer length available/used.
- @return ERROR_SUCCESS on success, any other value indicates
- an error.
-*/
-long
-dkwt_tool_reg_query_value(
- HKEY hk,
- dkChar const *vn,
- DWORD *pDwTp,
- void *buf,
- DWORD *pDwSz
-);
-
-/** Delete a registry entry (value).
- @param hk Registry key.
- @param en Name of entry to delete.
- @return ERROR_SUCCESS on success, any other value indicates an error.
-*/
-long
-dkwt_tool_reg_delete_value(
- HKEY hk,
- dkChar const *en
-);
-
-/** Delete subkey hierarchy.
- @param hk Parent registry key.
- @param tn Name of subkey to delete.
- @return ERROR_SUCCESS on success, any other value indicates an error.
-*/
-long
-dkwt_tool_reg_delete_tree(
- HKEY hk,
- dkChar const *tn
-);
-
-/** Enumerate subkeys of a key.
- @param hk Registry key.
- @param dwIndex Index of subkey to enumerate.
- @param pResult Pointer to result buffer.
- @param pDwSzResult Pointer to buffer length / result length.
- @param pClass Subkey class name, may be NULL.
- @param pDwSzClass Subkey class name length, may be NULL.
- @param pLastWrite Pointer to timestamp, may be NULL.
- @return ERROR_SUCCESS on success, ERROR_NO_MORE_DATA on end,
- any other value indicates an error.
-*/
-long
-dkwt_tool_reg_enum_key(
- HKEY hk,
- DWORD dwIndex,
- dkChar *pResult,
- DWORD *pDwSzResult,
- dkChar *pClass,
- DWORD *pDwSzClass,
- PFILETIME pLastWrite
-);
-
-/** Create a registry key.
- @param hk Parent key.
- @param kn Subkey name.
- @param dwOptions Options (0 is a good choice).
- @param sam Access mask.
- @param pHkeyResult Pointer to result HKEY.
- @param lpDwDisposition Pointer to disposition DWORD, may be NULL.
- @return ERROR_SUCCESS on success, any other value indicates an error.
-*/
-long
-dkwt_tool_reg_create_key(
- HKEY hk,
- dkChar const *kn,
- DWORD dwOptions,
- REGSAM sam,
- PHKEY pHkeyResult,
- LPDWORD lpDwDisposition
-);
-
-/** Set a registry value.
- @param hk Handle for registry key.
- @param vn Value name.
- @param dwType Value type.
- @param pData Value data.
- @param szData Length of value data.
- @return ERROR_SUCCESS on success, any other value indicates an error.
-*/
-long
-dkwt_ev_reg_set_value(
- HKEY hk,
- dkChar const *vn,
- DWORD dwType,
- void *pData,
- DWORD szData
-);
-
-/** Clear local print queues.
- @param app Application structure for diagnostics.
- @param msg Localized message texts.
- @param kwnl Keywords, not localized.
- @param userName User for which to delete print jobs.
-*/
-void
-dkwt_clear_printers_local(
- dk3_app_t *app,
- dkChar const * const *msg,
- dkChar const * const *kwnl,
- dkChar const *userName
-);
-
-/** Clear LPRng/LPD remote print queues.
- @param app Application structure for diagnostics.
- @param msg Localized message texts.
- @param kwnl Keywords, not localized.
- @param userName User name for print jobs.
- @param iterator Iterator for print queue names storage.
-*/
-void
-dkwt_clear_printers_remote(
- dk3_app_t *app,
- dkChar const * const *msg,
- dkChar const * const *kwnl,
- dkChar const *userName,
- dk3_sto_it_t *iterator
-);
-
-/** Check whether the current process runs with administrative privileges.
- @return 1 for administrative process, 0 for non-administrative
- process, -1 for failed check.
-*/
-int
-dkwt_is_admin(void);
-
-#ifdef __cplusplus
-}
-#endif
-
-/** Show groups found on network server.
-*/
-#define DKWT_GROUP_NET 0
-
-/** Show groups found on local computer.
-*/
-#define DKWT_GROUP_LOCAL 1
-
-#endif
-