Leaked source code of windows server 2003
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

195 lines
4.9 KiB

/*++
Copyright (c) Microsoft Corporation
Module Name:
SetX.h
Abstract:
This module is the header file used for setx.cpp
Author:
Gary Milne
Revision History:
Created ????. 1996 - Gary Milne
#54581 Dec. 1996 - Joe Hughes (a-josehu)
Modified on 10-7-2001 (Wipro Technologies) .
--*/
#ifndef __SETX_H
#define __SETX_H
#if !defined( SECURITY_WIN32 ) && !defined( SECURITY_KERNEL ) && !defined( SECURITY_MAC )
#define SECURITY_WIN32
#endif
// include header file only once
#pragma once
#include "pch.h"
#define FAILURE 1
#define SUCCESS 0
#define TOKEN_BACKSLASH L"\\"
#define TOKEN_BACKSLASH2 L"\\\\"
#define HKEYLOCALMACHINE L"HKEY_LOCAL_MACHINE"
#define HKLM L"HKLM"
#define HKEYCURRENTUSER L"HKEY_CURRENT_USER"
#define HKCU L"HKCU"
#define COLON_SYMBOL L":"
//#define MAX_OPTIONS 12
#define NEWLINE L'\n'
#define NULLCHAR L'\0'
#define COMMA L','
#define DOT L"."
#define HYPHEN L'-'
#define PLUS L'+'
#define OPTION_USAGE 0
#define OPTION_SERVER 1
#define OPTION_USER 2
#define OPTION_PASSWORD 3
#define OPTION_MACHINE 4
#define OPTION_REGISTRY 5
#define OPTION_FILE 6
#define OPTION_DEFAULT 7
//#define OPTION_VERBOSE 8
#define OPTION_ABS_OFFSET 8
#define OPTION_REL_OFFSET 9
#define OPTION_DEBUG 10
#define OPTION_DELIMITER 11
#define MAX_OPTIONS 12
#define ERROR_REGISTRY 99
#define BACKSLASH4 L"\\\\"
#define CHAR_TILDE L'~'
#define CHAR_PERCENT L'%'
#define MACHINE_KEY L"SYSTEM\\CurrentControlSet\\Control\\Session Manager\\Environment"
#define ENVIRONMENT_KEY L"Environment"
#define NULL_U_STRING L"\0"
#define RETVALZERO 0
#define LINE_BUFFER 5000
#define FREE_MEMORY( VARIABLE ) \
FreeMemory(&VARIABLE); \
1
#define ASSIGN_MEMORY( VARIABLE , TYPE , VALUE ) \
VARIABLE = ( TYPE * ) AllocateMemory( VALUE * sizeof( TYPE ) ); \
1
#define REALLOC_MEMORY( VARIABLE , TYPE , VALUE ) \
ReallocateMemory( VARIABLE, VALUE * sizeof( TYPE ) ); \
1
/* Functions definitions here */
LONG Parsekey(WCHAR * ptr,
WCHAR * hive,
WCHAR ** path,
WCHAR * parameter );
LONG GetCoord(WCHAR * rcv_buffer,
LONG * row,
LONG * column
);
WCHAR * ParseLine(WCHAR *szPtr,
LONG* row,
LONG* column,
WCHAR szDelimiters[15],
WCHAR *search_string ,
LONG DEBUG ,
LONG ABS ,
LONG REL ,
LONG *record_counter ,
LONG *iValue ,
DWORD *dwFound,
DWORD* dwColPos,
BOOL bNegCoord,
FILE *fin) ;
VOID DisplayHelp();
DWORD CheckKeyType( DWORD *dwType,
TCHAR ** buffer,
DWORD dwBytesRead,
PBOOL pbLengthExceed);
BOOL DisplayError( LONG value,
LPCTSTR ptr );
DWORD WriteEnv(
LPCTSTR szVariable,
LPTSTR szBuffer,
DWORD dwType ,
LPTSTR szServer,
DWORD MACHINE
);
DWORD CheckPercent( TCHAR * buffer);
DWORD ReadRegValue ( PWCHAR wszHive,
LPCWSTR wszPath,
LPCWSTR wszParameter,
LPWSTR* wszBuffer,
DWORD buffsize ,
LPTSTR szServer,
PDWORD pdwBytesRead,
PBOOL pbLengthExceed);
DWORD ProcessOptions( IN LONG argc ,
IN LPCWSTR argv[] ,
PBOOL pbShowUsage ,
LPTSTR* szServer,
LPTSTR* szUserName,
LPTSTR* szPassword,
PBOOL pbMachine,
LPTSTR* szRegistry,
// PBOOL pbConnFlag ,
LPTSTR* szDefault,
PBOOL pbNeedPwd,
LPTSTR szFile ,
LPTSTR szAbsolute,
LPTSTR szRelative,
PBOOL pbDebug,
LPTSTR* szBuffer,
LPTSTR szDelimiter);
//PDWORD pdwBufferSize);
VOID SafeCloseConnection(BOOL bConnFlag,
LPTSTR szServer);
BOOL ProcessUnlimitedArguments( LPCWSTR pwszOption,
LPCWSTR pwszValue,
LPVOID pData,
DWORD* pdwIncrement );
#define SIZE1 100
#define SIZE2 500
#define SIZE3 5000
#define SIZE4 15
#define SIZE5 5024
#define CHAR_BACKSLASH L'\\'
#define SPACE_CHAR L" "
#define NEW_LINE L"\n"
#define INVALID_LENGTH 999
#endif