diff options
author | Andrew Tridgell <tridge@samba.org> | 1999-12-13 13:35:20 +0000 |
---|---|---|
committer | Andrew Tridgell <tridge@samba.org> | 1999-12-13 13:35:20 +0000 |
commit | 32a965e09ce4befe971855e11e1fb5ceb51a9ed1 (patch) | |
tree | 157f164263a56d7e3f2ca1fe9a05a9df24f25234 /source3/include | |
parent | 3db52feb1f3b2c07ce0b06ad4a7099fa6efe3fc7 (diff) | |
download | samba-32a965e09ce4befe971855e11e1fb5ceb51a9ed1.tar.gz samba-32a965e09ce4befe971855e11e1fb5ceb51a9ed1.tar.bz2 samba-32a965e09ce4befe971855e11e1fb5ceb51a9ed1.zip |
2nd phase of head branch sync with SAMBA_2_0 - this delets all the files that were in the head branch but weren't in SAMBA_2_0
(This used to be commit d7b208786590b5a28618590172b8d523627dda09)
Diffstat (limited to 'source3/include')
-rw-r--r-- | source3/include/DesktopDB.h | 32 | ||||
-rw-r--r-- | source3/include/debug.h | 121 | ||||
-rw-r--r-- | source3/include/dfs.h | 53 | ||||
-rw-r--r-- | source3/include/hmacmd5.h | 33 | ||||
-rw-r--r-- | source3/include/md5.h | 32 | ||||
-rw-r--r-- | source3/include/nt_printing.h | 102 | ||||
-rw-r--r-- | source3/include/rpc_atsvc.h | 155 | ||||
-rw-r--r-- | source3/include/rpc_brs.h | 81 | ||||
-rw-r--r-- | source3/include/rpc_creds.h | 92 | ||||
-rw-r--r-- | source3/include/rpc_eventlog.h | 133 | ||||
-rwxr-xr-x | source3/include/rpc_spoolss.h | 1492 | ||||
-rw-r--r-- | source3/include/rpc_svcctl.h | 288 | ||||
-rw-r--r-- | source3/include/safe_string.h | 45 | ||||
-rw-r--r-- | source3/include/smb_macros.h | 154 | ||||
-rw-r--r-- | source3/include/vagent.h | 51 | ||||
-rw-r--r-- | source3/include/vfs.h | 146 |
16 files changed, 0 insertions, 3010 deletions
diff --git a/source3/include/DesktopDB.h b/source3/include/DesktopDB.h deleted file mode 100644 index c0efa2b4a4..0000000000 --- a/source3/include/DesktopDB.h +++ /dev/null @@ -1,32 +0,0 @@ -/* - Unix SMB/Netbios implementation. - Version 1.9. - service (connection) opening and closing - Copyright (C) Andrew Tridgell 1992-1998 - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. -*/ - - -#define DESKTOPDB_FOLDER "./.streams/.DesktopDBFolder/" -#define DESKTOPDB_DF_PATH "./.streams/.DesktopDBFolder/DesktopDF" -#define THE_ZERO_DB_ENTRY "ZERO_DB" - -typedef struct IconKey -{ - uint32 ftype; /* The file type */ - uint32 isize; /* Size of the Icon */ - uint16 itype; /* Icon Type */ -} IconKey; diff --git a/source3/include/debug.h b/source3/include/debug.h deleted file mode 100644 index df74da0b41..0000000000 --- a/source3/include/debug.h +++ /dev/null @@ -1,121 +0,0 @@ -/* - Unix SMB/Netbios implementation. - Version 1.9. - SMB debug stuff - Copyright (C) Andrew Tridgell 1992-1998 - Copyright (C) John H Terpstra 1996-1998 - Copyright (C) Luke Kenneth Casson Leighton 1996-1998 - Copyright (C) Paul Ashton 1998 - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. -*/ - -#ifndef _DEBUG_H -#define _DEBUG_H - -/* -------------------------------------------------------------------------- ** - * Debugging code. See also debug.c - */ - -/* mkproto.awk has trouble with ifdef'd function definitions (it ignores - * the #ifdef directive and will read both definitions, thus creating two - * diffferent prototype declarations), so we must do these by hand. - */ -/* I know the __attribute__ stuff is ugly, but it does ensure we get the - arguemnts to DEBUG() right. We have got them wrong too often in the - past. - */ -#ifdef HAVE_STDARG_H -int Debug1( char *, ... ) -#ifdef __GNUC__ - __attribute__ ((format (printf, 1, 2))) -#endif -; -BOOL dbgtext( char *, ... ) -#ifdef __GNUC__ - __attribute__ ((format (printf, 1, 2))) -#endif -; -#else -int Debug1(); -BOOL dbgtext(); -#endif - -/* If we have these macros, we can add additional info to the header. */ -#ifdef HAVE_FILE_MACRO -#define FILE_MACRO (__FILE__) -#else -#define FILE_MACRO ("") -#endif - -#ifdef HAVE_FUNCTION_MACRO -#define FUNCTION_MACRO (__FUNCTION__) -#else -#define FUNCTION_MACRO ("") -#endif - -/* Debugging macros. - * DEBUGLVL() - If level is <= the system-wide DEBUGLEVEL then generate a - * header using the default macros for file, line, and - * function name. - * Returns True if the debug level was <= DEBUGLEVEL. - * Example usage: - * if( DEBUGLVL( 2 ) ) - * dbgtext( "Some text.\n" ); - * DEGUG() - Good old DEBUG(). Each call to DEBUG() will generate a new - * header *unless* the previous debug output was unterminated - * (i.e., no '\n'). See debug.c:dbghdr() for more info. - * Example usage: - * DEBUG( 2, ("Some text.\n") ); - * DEBUGADD() - If level <= DEBUGLEVEL, then the text is appended to the - * current message (i.e., no header). - * Usage: - * DEBUGADD( 2, ("Some additional text.\n") ); - */ -#define DEBUGLVL( level ) \ - ( (DEBUGLEVEL >= (level)) \ - && dbghdr( level, FILE_MACRO, FUNCTION_MACRO, (__LINE__) ) ) - -#define DEBUG( level, body ) \ - (void)( (DEBUGLEVEL >= (level)) \ - && (dbghdr( level, FILE_MACRO, FUNCTION_MACRO, (__LINE__) )) \ - && (dbgtext body) ) - -#define DEBUGADD( level, body ) \ - (void)( (DEBUGLEVEL >= (level)) && (dbgtext body) ) - -/* -------------------------------------------------------------------------- ** - * These are the tokens returned by dbg_char2token(). - */ - -typedef enum - { - dbg_null = 0, - dbg_ignore, - dbg_header, - dbg_timestamp, - dbg_level, - dbg_sourcefile, - dbg_function, - dbg_lineno, - dbg_message, - dbg_eof - } dbg_Token; - -/* End Debugging code section. - * -------------------------------------------------------------------------- ** - */ - -#endif diff --git a/source3/include/dfs.h b/source3/include/dfs.h deleted file mode 100644 index 1bf26e230b..0000000000 --- a/source3/include/dfs.h +++ /dev/null @@ -1,53 +0,0 @@ - -typedef struct _referal_trans_param -{ - uint16 level; - char directory[255]; - uint16 type; -} referal_trans_param; - -typedef struct _referal_ver_2 -{ - uint16 version; - uint16 size; - uint16 server_type; - uint16 flags; - uint32 proximity; - uint32 ttl; - uint16 filename_offset; - uint16 mangledname_offset; - uint16 sharename_offset; - char sharename[255]; -} referal_ver_2; - -typedef struct _dfs_response -{ - uint16 path_consumed; - uint16 number_of_referal; - uint32 server_function; - referal_ver_2 *referal; - char filename[255]; - char mangledname[255]; - struct _dfs_response *next; -} dfs_response; - - -typedef struct _dfs_internal_table -{ - pstring localpath; - pstring mangledpath; - pstring sharename; - unsigned int proximity; - unsigned int type; - int localpath_length; - int mangledpath_length; - int sharename_length; -} dfs_internal_table; - -typedef struct _dfs_internal -{ - - dfs_internal_table *table; - int size; - BOOL ready; -} dfs_internal; diff --git a/source3/include/hmacmd5.h b/source3/include/hmacmd5.h deleted file mode 100644 index adb52058a8..0000000000 --- a/source3/include/hmacmd5.h +++ /dev/null @@ -1,33 +0,0 @@ -/* - Unix SMB/Netbios implementation. - Version 1.9. - Interface header: Scheduler service - Copyright (C) Luke Kenneth Casson Leighton 1996-1999 - Copyright (C) Andrew Tridgell 1992-1999 - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. -*/ - -#ifndef _HMAC_MD5_H - -typedef struct -{ - struct MD5Context ctx; - uchar k_ipad[65]; - uchar k_opad[65]; - -} HMACMD5Context; - -#endif /* _HMAC_MD5_H */ diff --git a/source3/include/md5.h b/source3/include/md5.h deleted file mode 100644 index 070d8c307d..0000000000 --- a/source3/include/md5.h +++ /dev/null @@ -1,32 +0,0 @@ -/* - Unix SMB/Netbios implementation. - Version 1.9. - Copyright (C) Andrew Tridgell 1992-1999 - Copyright (C) Luke Kenneth Casson Leighton 1996-1999 - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. -*/ - -#ifndef MD5_H -#define MD5_H - -struct MD5Context -{ - uint32 buf[4]; - uint32 bits[2]; - uchar in[64]; -}; - -#endif /* !MD5_H */ diff --git a/source3/include/nt_printing.h b/source3/include/nt_printing.h deleted file mode 100644 index a575c01e49..0000000000 --- a/source3/include/nt_printing.h +++ /dev/null @@ -1,102 +0,0 @@ -typedef struct nt_printer_driver_info_level_3 -{ - uint32 cversion; - - fstring name; - fstring environment; - fstring driverpath; - fstring datafile; - fstring configfile; - fstring helpfile; - fstring monitorname; - fstring defaultdatatype; - char **dependentfiles; - -} NT_PRINTER_DRIVER_INFO_LEVEL_3; - -typedef struct nt_printer_driver_info_level -{ - NT_PRINTER_DRIVER_INFO_LEVEL_3 *info_3; -} NT_PRINTER_DRIVER_INFO_LEVEL; - -typedef struct nt_printer_param -{ - fstring value; - uint32 type; - uint8 *data; - int data_len; - struct nt_printer_param *next; -} NT_PRINTER_PARAM; - -typedef struct ntdevicemode -{ - fstring devicename; - uint16 specversion; - uint16 driverversion; - uint16 size; - uint16 driverextra; - uint32 fields; - uint16 orientation; - uint16 papersize; - uint16 paperlength; - uint16 paperwidth; - uint16 scale; - uint16 copies; - uint16 defaultsource; - uint16 printquality; - uint16 color; - uint16 duplex; - uint16 yresolution; - uint16 ttoption; - uint16 collate; - fstring formname; - uint16 logpixels; - uint32 bitsperpel; - uint32 pelswidth; - uint32 pelsheight; - uint32 displayflags; - uint32 displayfrequency; - uint32 icmmethod; - uint32 icmintent; - uint32 mediatype; - uint32 dithertype; - uint32 reserved1; - uint32 reserved2; - uint32 panningwidth; - uint32 panningheight; - uint8 *private; -} NT_DEVICEMODE; - -typedef struct nt_printer_info_level_2 -{ - uint32 attributes; - uint32 priority; - uint32 default_priority; - uint32 starttime; - uint32 untiltime; - uint32 status; - uint32 cjobs; - uint32 averageppm; - fstring servername; - fstring printername; - fstring sharename; - fstring portname; - fstring drivername; - fstring comment; - fstring location; - NT_DEVICEMODE *devmode; - fstring sepfile; - fstring printprocessor; - fstring datatype; - fstring parameters; - NT_PRINTER_PARAM *specific; - /* SEC_DESC_BUF *secdesc; */ - /* not used but ... and how ??? */ -} NT_PRINTER_INFO_LEVEL_2; - -typedef struct nt_printer_info_level -{ - NT_PRINTER_INFO_LEVEL_2 *info_2; -} NT_PRINTER_INFO_LEVEL; - - diff --git a/source3/include/rpc_atsvc.h b/source3/include/rpc_atsvc.h deleted file mode 100644 index 2b983f438e..0000000000 --- a/source3/include/rpc_atsvc.h +++ /dev/null @@ -1,155 +0,0 @@ -/* - Unix SMB/Netbios implementation. - Version 1.9. - Interface header: Scheduler service - Copyright (C) Matthew Chapman 1999 - Copyright (C) Luke Kenneth Casson Leighton 1996-1999 - Copyright (C) Andrew Tridgell 1992-1999 - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. -*/ - -#ifndef _RPC_ATSVC_H -#define _RPC_ATSVC_H - -#define AT_ADD_JOB 0x00 -#define AT_DEL_JOB 0x01 -#define AT_ENUM_JOBS 0x02 -#define AT_QUERY_JOB 0x03 - - -#define JOB_PERIODIC 0x01 -#define JOB_EXEC_ERR 0x02 -#define JOB_RUNS_TODAY 0x04 -#define JOB_INCLUDE_TODAY 0x08 -#define JOB_NONINTERACTIVE 0x10 - -/* AT_JOB_INFO */ -typedef struct at_job_info_info -{ - uint32 time; /* milliseconds after midnight */ - uint32 monthdays; /* bitmask of days of month */ - uint8 weekdays; /* bitmask of days of week */ - uint8 flags; /* JOB_xx */ - - uint32 ptr_command; - -} AT_JOB_INFO; - -/* AT_Q_ADD_JOB */ -typedef struct q_at_add_job_info -{ - uint32 ptr_srv_name; - UNISTR2 uni_srv_name; - - AT_JOB_INFO info; - UNISTR2 command; - -} AT_Q_ADD_JOB; - -/* AT_R_ADD_JOB */ -typedef struct r_at_add_job_info -{ - uint32 jobid; - uint32 status; - -} AT_R_ADD_JOB; - - -/* AT_Q_DEL_JOB */ -typedef struct q_at_del_job_info -{ - uint32 ptr_srv_name; - UNISTR2 uni_srv_name; - - uint32 min_jobid; - uint32 max_jobid; - -} AT_Q_DEL_JOB; - -/* AT_R_DEL_JOB */ -typedef struct r_at_del_job_info -{ - uint32 status; - -} AT_R_DEL_JOB; - - -/* AT_Q_ENUM_JOBS */ -typedef struct q_at_enum_jobs_info -{ - uint32 ptr_srv_name; - UNISTR2 uni_srv_name; - - uint32 unknown0; /* 0 */ - uint32 unknown1; /* 0 */ - uint32 max_len; /* preferred max length */ - - uint32 ptr_resume; - uint32 hnd_resume; /* resume handle */ - -} AT_Q_ENUM_JOBS; - -/* AT_ENUM_INFO */ -typedef struct q_at_enum_info_info -{ - uint32 jobid; - AT_JOB_INFO info; - -} AT_ENUM_INFO; - -#define AT_MAX_JOBS 256 - -/* AT_R_ENUM_JOBS */ -typedef struct r_at_enum_jobs_info -{ - uint32 num_entries; /* entries returned */ - uint32 ptr_entries; - uint32 num_entries2; - - AT_ENUM_INFO info[AT_MAX_JOBS]; - UNISTR2 command[AT_MAX_JOBS]; - - uint32 total_entries; /* total entries */ - uint32 ptr_resume; - uint32 hnd_resume; /* resume handle */ - - uint32 status; - -} AT_R_ENUM_JOBS; - - -/* AT_Q_QUERY_JOB */ -typedef struct q_at_query_job_info -{ - uint32 ptr_srv_name; - UNISTR2 uni_srv_name; - - uint32 jobid; - -} AT_Q_QUERY_JOB; - -/* AT_R_QUERY_JOB */ -typedef struct r_at_query_job_info -{ - uint32 ptr_info; - AT_JOB_INFO info; - UNISTR2 command; - - uint32 status; - -} AT_R_QUERY_JOB; - -#endif /* _RPC_ATSVC_H */ diff --git a/source3/include/rpc_brs.h b/source3/include/rpc_brs.h deleted file mode 100644 index 36d89ec151..0000000000 --- a/source3/include/rpc_brs.h +++ /dev/null @@ -1,81 +0,0 @@ -/* - Unix SMB/Netbios implementation. - Version 1.9. - SMB parameters and setup - Copyright (C) Andrew Tridgell 1992-1999 - Copyright (C) Luke Kenneth Casson Leighton 1996-1999 - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. -*/ - -#ifndef _RPC_BRS_H /* _RPC_BRS_H */ -#define _RPC_BRS_H - - -/* brssvc pipe */ -#define BRS_QUERY_INFO 0x02 - - -/* BRS_Q_QUERY_INFO - probably a capabilities request */ -typedef struct q_brs_query_info_info -{ - uint32 ptr_srv_name; /* pointer (to server name?) */ - UNISTR2 uni_srv_name; /* unicode server name starting with '\\' */ - - uint16 switch_value1; /* info level 100 (0x64) */ - /* align */ - uint16 switch_value2; /* info level 100 (0x64) */ - - uint32 ptr; - uint32 pad1; - uint32 pad2; - -} BRS_Q_QUERY_INFO; - - -/* BRS_INFO_100 - level 100 info */ -typedef struct brs_info_100_info -{ - uint32 pad1; - uint32 ptr2; - uint32 pad2; - uint32 pad3; - -} BRS_INFO_100; - - -/* BRS_R_QUERY_INFO - probably a capabilities request */ -typedef struct r_brs_query_info_info -{ - uint16 switch_value1; /* 100 (0x64) - switch value */ - /* align */ - uint16 switch_value2; /* info level 100 (0x64) */ - - /* for now, only level 100 is supported. this should be an enum container */ - uint32 ptr_1; /* pointer 1 */ - - union - { - BRS_INFO_100 *brs100; /* browser info level 100 */ - void *id; - - } info; - - uint32 status; /* return status */ - -} BRS_R_QUERY_INFO; - -#endif /* _RPC_BRS_H */ - diff --git a/source3/include/rpc_creds.h b/source3/include/rpc_creds.h deleted file mode 100644 index c389c64d1d..0000000000 --- a/source3/include/rpc_creds.h +++ /dev/null @@ -1,92 +0,0 @@ -/* - Unix SMB/Netbios implementation. - Version 1.9. - SMB parameters and setup - Copyright (C) Andrew Tridgell 1992-1999 - Copyright (C) Luke Kenneth Casson Leighton 1996-1999 - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. -*/ - -#ifndef _RPC_CREDS_H /* _RPC_CREDS_H */ -#define _RPC_CREDS_H - -typedef struct ntuser_creds -{ - fstring user_name; - fstring domain; - struct pwd_info pwd; - - uint32 ntlmssp_flags; - -} CREDS_NT; - -typedef struct unixuser_creds -{ - fstring user_name; - fstring requested_name; - fstring real_name; - BOOL guest; - -} CREDS_UNIX; - -typedef struct unixsec_creds -{ - uint32 uid; - uint32 gid; - int num_grps; - uint32 *grps; - -} CREDS_UNIX_SEC; - -typedef struct ntsec_creds -{ - DOM_SID sid; - uint32 num_grps; - uint32 *grp_rids; - -} CREDS_NT_SEC; - -typedef struct user_creds -{ - BOOL reuse; - uint32 ptr_ntc; - uint32 ptr_uxc; - uint32 ptr_nts; - uint32 ptr_uxs; - - CREDS_NT ntc; - CREDS_UNIX uxc; - - CREDS_NT_SEC nts; - CREDS_UNIX_SEC uxs; - - -} CREDS_HYBRID; - -typedef struct cred_command -{ - uint16 version; - uint16 command; - - fstring name; - - uint32 ptr_creds; - CREDS_HYBRID *cred; - -} CREDS_CMD; - -#endif /* _RPC_CREDS_H */ - diff --git a/source3/include/rpc_eventlog.h b/source3/include/rpc_eventlog.h deleted file mode 100644 index 14e5570c9b..0000000000 --- a/source3/include/rpc_eventlog.h +++ /dev/null @@ -1,133 +0,0 @@ -/* - Unix SMB/Netbios implementation. - Version 1.9. - Interface header: Scheduler service - Copyright (C) Luke Kenneth Casson Leighton 1996-1999 - Copyright (C) Andrew Tridgell 1992-1999 - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. -*/ - -#ifndef _RPC_EVENTLOG_H -#define _RPC_EVENTLOG_H - -#define EVENTLOG_OPEN 0x07 -#define EVENTLOG_CLOSE 0x02 -#define EVENTLOG_NUMOFEVENTLOGRECORDS 0x04 -#define EVENTLOG_READEVENTLOG 0x0a - -#define EVENTLOG_READ_SEQUENTIAL 0x01 -#define EVENTLOG_READ_SEEK 0x02 -#define EVENTLOG_READ_FORWARD 0x04 -#define EVENTLOG_READ_BACKWARD 0x08 - -#define EVENTLOG_OK 0X00 -#define EVENTLOG_ERROR 0x01 -#define EVENTLOG_WARNING 0x02 -#define EVENTLOG_INFORMATION 0x04 -#define EVENTLOG_AUDIT_OK 0x08 -#define EVENTLOG_AUDIT_ERROR 0x10 - -typedef struct eventlogrecord -{ - uint32 size; - uint32 reserved; - uint32 recordnumber; - uint32 creationtime; - uint32 writetime; - uint32 eventnumber; - uint16 eventtype; - uint16 num_of_strings; - uint16 category; - uint16 reserved_flag; - uint32 closingrecord; - uint32 stringoffset; - uint32 sid_length; - uint32 sid_offset; - uint32 data_length; - uint32 data_offset; - UNISTR sourcename; - UNISTR computername; - UNISTR sid; - UNISTR strings; - UNISTR data; - uint32 size2; -} EVENTLOGRECORD; - -typedef struct eventlog_q_open -{ - uint32 ptr0; - - uint16 unk0; - uint16 unk1; - - UNIHDR hdr_source; - UNISTR2 uni_source; - - UNIHDR hdr_unk; - UNISTR2 uni_unk; - - uint32 unk6; - uint32 unk7; - -} EVENTLOG_Q_OPEN; - -typedef struct eventlog_r_open -{ - POLICY_HND pol; - uint32 status; - -} EVENTLOG_R_OPEN; - -typedef struct eventlog_q_close -{ - POLICY_HND pol; -} EVENTLOG_Q_CLOSE; - -typedef struct eventlog_r_close -{ - POLICY_HND pol; - uint32 status; -} EVENTLOG_R_CLOSE; - -typedef struct eventlog_q_numofeventlogrec -{ - POLICY_HND pol; -} EVENTLOG_Q_NUMOFEVENTLOGREC; - -typedef struct eventlog_r_numofeventlogrec -{ - uint32 number; - uint32 status; -} EVENTLOG_R_NUMOFEVENTLOGREC; - -typedef struct eventlog_q_readeventlog -{ - POLICY_HND pol; - uint32 flags; - uint32 offset; - uint32 number_of_bytes; -} EVENTLOG_Q_READEVENTLOG; - -typedef struct eventlog_r_readeventlog -{ - uint32 number_of_bytes; - EVENTLOGRECORD *event; - uint32 sent_size; - uint32 real_size; - uint32 status; -} EVENTLOG_R_READEVENTLOG; - -#endif /* _RPC_EVENTLOG_H */ diff --git a/source3/include/rpc_spoolss.h b/source3/include/rpc_spoolss.h deleted file mode 100755 index 5143b389fc..0000000000 --- a/source3/include/rpc_spoolss.h +++ /dev/null @@ -1,1492 +0,0 @@ -/* - Unix SMB/Netbios implementation. - Version 1.9. - SMB parameters and setup - Copyright (C) Andrew Tridgell 1992-1998 - Copyright (C) Luke Kenneth Casson Leighton 1996-1998 - Copyright (C) Jean Francois Micouleau 1998-1999 - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. -*/ - -#ifndef _RPC_SPOOLSS_H /* _RPC_SPOOLSS_H */ -#define _RPC_SPOOLSS_H - -#define INTEGER 1 -#define STRING 2 - -/* spoolss pipe: this are the calls which are not implemented ... -#define SPOOLSS_OPENPRINTER 0x01 -#define SPOOLSS_DELETEPRINTER 0x06 -#define SPOOLSS_GETPRINTERDRIVER 0x0b -#define SPOOLSS_DELETEPRINTERDRIVER 0x0d -#define SPOOLSS_ADDPRINTPROCESSOR 0x0e -#define SPOOLSS_GETPRINTPROCESSORDIRECTORY 0x10 -#define SPOOLSS_ABORTPRINTER 0x15 -#define SPOOLSS_READPRINTER 0x16 -#define SPOOLSS_WAITFORPRINTERCHANGE 0x1c -#define SPOOLSS_DELETEFORM 0x1f -#define SPOOLSS_GETFORM 0x20 -#define SPOOLSS_ADDPORT 0x25 -#define SPOOLSS_CONFIGUREPORT 0x26 -#define SPOOLSS_DELETEPORT 0x27 -#define SPOOLSS_CREATEPRINTERIC 0x28 -#define SPOOLSS_PLAYGDISCRIPTONPRINTERIC 0x29 -#define SPOOLSS_DELETEPRINTERIC 0x2a -#define SPOOLSS_ADDPRINTERCONNECTION 0x2b -#define SPOOLSS_DELETEPRINTERCONNECTION 0x2c -#define SPOOLSS_PRINTERMESSAGEBOX 0x2d -#define SPOOLSS_ADDMONITOR 0x2e -#define SPOOLSS_DELETEMONITOR 0x2f -#define SPOOLSS_DELETEPRINTPROCESSOR 0x30 -#define SPOOLSS_ADDPRINTPROVIDOR 0x31 -#define SPOOLSS_DELETEPRINTPROVIDOR 0x32 -#define SPOOLSS_RESETPRINTER 0x34 -#define SPOOLSS_FINDFIRSTPRINTERCHANGENOTIFICATION 0x36 -#define SPOOLSS_FINDNEXTPRINTERCHANGENOTIFICATION 0x37 -#define SPOOLSS_ROUTERFINDFIRSTPRINTERNOTIFICATIONOLD 0x39 -#define SPOOLSS_REPLYOPENPRINTER 0x3a -#define SPOOLSS_ROUTERREPLYPRINTER 0x3b -#define SPOOLSS_REPLYCLOSEPRINTER 0x3c -#define SPOOLSS_ADDPORTEX 0x3d -#define SPOOLSS_REMOTEFINDFIRSTPRINTERCHANGENOTIFICATION0x3e -#define SPOOLSS_SPOOLERINIT 0x3f -#define SPOOLSS_RESETPRINTEREX 0x40 -#define SPOOLSS_ROUTERREFRESHPRINTERCHANGENOTIFICATION 0x42 -*/ - -/* those are implemented */ - -#define SPOOLSS_ENUMPRINTERS 0x00 -#define SPOOLSS_SETJOB 0x02 -#define SPOOLSS_GETJOB 0x03 -#define SPOOLSS_ENUMJOBS 0x04 -#define SPOOLSS_ADDPRINTER 0x05 -#define SPOOLSS_SETPRINTER 0x07 -#define SPOOLSS_GETPRINTER 0x08 -#define SPOOLSS_ADDPRINTERDRIVER 0x09 -#define SPOOLSS_ENUMPRINTERDRIVERS 0x0a -#define SPOOLSS_GETPRINTERDRIVERDIRECTORY 0x0c -#define SPOOLSS_ENUMPRINTPROCESSORS 0x0f -#define SPOOLSS_STARTDOCPRINTER 0x11 -#define SPOOLSS_STARTPAGEPRINTER 0x12 -#define SPOOLSS_WRITEPRINTER 0x13 -#define SPOOLSS_ENDPAGEPRINTER 0x14 -#define SPOOLSS_ENDDOCPRINTER 0x17 -#define SPOOLSS_ADDJOB 0x18 -#define SPOOLSS_SCHEDULEJOB 0x19 -#define SPOOLSS_GETPRINTERDATA 0x1a -#define SPOOLSS_SETPRINTERDATA 0x1b -#define SPOOLSS_CLOSEPRINTER 0x1d -#define SPOOLSS_ADDFORM 0x1e -#define SPOOLSS_SETFORM 0x21 -#define SPOOLSS_ENUMFORMS 0x22 -#define SPOOLSS_ENUMPORTS 0x23 -#define SPOOLSS_ENUMMONITORS 0x24 -#define SPOOLSS_ENUMPRINTPROCESSORDATATYPES 0x33 -#define SPOOLSS_GETPRINTERDRIVER2 0x35 -/* find close printer notification */ -#define SPOOLSS_FCPN 0x38 -/* remote find first printer change notifyEx */ -#define SPOOLSS_RFFPCNEX 0x41 -/* remote find next printer change notifyEx */ -#define SPOOLSS_RFNPCNEX 0x43 -#define SPOOLSS_OPENPRINTEREX 0x45 -#define SPOOLSS_ADDPRINTEREX 0x46 -#define SPOOLSS_ENUMPRINTERDATA 0x48 - - -#define SERVER_ACCESS_ADMINISTER 0x00000001 -#define SERVER_ACCESS_ENUMERATE 0x00000002 - -#define PRINTER_ACCESS_ADMINISTER 0x00000004 -#define PRINTER_ACCESS_USE 0x00000008 - -#define PRINTER_CONTROL_UNPAUSE 0x00000000 -#define PRINTER_CONTROL_PAUSE 0x00000001 -#define PRINTER_CONTROL_RESUME 0x00000002 -#define PRINTER_CONTROL_PURGE 0x00000003 -#define PRINTER_CONTROL_SET_STATUS 0x00000004 - -#define PRINTER_STATUS_PAUSED 0x00000001 -#define PRINTER_STATUS_ERROR 0x00000002 -#define PRINTER_STATUS_PENDING_DELETION 0x00000004 -#define PRINTER_STATUS_PAPER_JAM 0x00000008 - -#define PRINTER_STATUS_PAPER_OUT 0x00000010 -#define PRINTER_STATUS_MANUAL_FEED 0x00000020 -#define PRINTER_STATUS_PAPER_PROBLEM 0x00000040 -#define PRINTER_STATUS_OFFLINE 0x00000080 - -#define PRINTER_STATUS_IO_ACTIVE 0x00000100 -#define PRINTER_STATUS_BUSY 0x00000200 -#define PRINTER_STATUS_PRINTING 0x00000400 -#define PRINTER_STATUS_OUTPUT_BIN_FULL 0x00000800 - -#define PRINTER_STATUS_NOT_AVAILABLE 0x00001000 -#define PRINTER_STATUS_WAITING 0x00002000 -#define PRINTER_STATUS_PROCESSING 0x00004000 -#define PRINTER_STATUS_INITIALIZING 0x00008000 - -#define PRINTER_STATUS_WARMING_UP 0x00010000 -#define PRINTER_STATUS_TONER_LOW 0x00020000 -#define PRINTER_STATUS_NO_TONER 0x00040000 -#define PRINTER_STATUS_PAGE_PUNT 0x00080000 - -#define PRINTER_STATUS_USER_INTERVENTION 0x00100000 -#define PRINTER_STATUS_OUT_OF_MEMORY 0x00200000 -#define PRINTER_STATUS_DOOR_OPEN 0x00400000 -#define PRINTER_STATUS_SERVER_UNKNOWN 0x00800000 - -#define PRINTER_STATUS_POWER_SAVE 0x01000000 - -#define JOB_ACCESS_ADMINISTER 0x00000010 - -#define STANDARD_RIGHTS_READ 0x00020000 -#define STANDARD_RIGHTS_WRITE STANDARD_RIGHTS_READ -#define STANDARD_RIGHTS_EXECUTE STANDARD_RIGHTS_READ -#define STANDARD_RIGHTS_REQUIRED 0x000F0000 - -/* Access rights for print servers */ -#define SERVER_ALL_ACCESS STANDARD_RIGHTS_REQUIRED|SERVER_ACCESS_ADMINISTER|SERVER_ACCESS_ENUMERATE -#define SERVER_READ STANDARD_RIGHTS_READ|SERVER_ACCESS_ENUMERATE -#define SERVER_WRITE STANDARD_RIGHTS_WRITE|SERVER_ACCESS_ADMINISTER|SERVER_ACCESS_ENUMERATE -#define SERVER_EXECUTE STANDARD_RIGHTS_EXECUTE|SERVER_ACCESS_ENUMERATE - -/* Access rights for printers */ -#define PRINTER_ALL_ACCESS STANDARD_RIGHTS_REQUIRED|PRINTER_ACCESS_ADMINISTER|PRINTER_ACCESS_USE -#define PRINTER_READ STANDARD_RIGHTS_READ|PRINTER_ACCESS_USE -#define PRINTER_WRITE STANDARD_RIGHTS_WRITE|PRINTER_ACCESS_USE -#define PRINTER_EXECUTE STANDARD_RIGHTS_EXECUTE|PRINTER_ACCESS_USE - -/* Access rights for jobs */ -#define JOB_ALL_ACCESS STANDARD_RIGHTS_REQUIRED|JOB_ACCESS_ADMINISTER -#define JOB_READ STANDARD_RIGHTS_READ|JOB_ACCESS_ADMINISTER -#define JOB_WRITE STANDARD_RIGHTS_WRITE|JOB_ACCESS_ADMINISTER -#define JOB_EXECUTE STANDARD_RIGHTS_EXECUTE|JOB_ACCESS_ADMINISTER - -#define POLICY_HND_SIZE 20 - -#define ONE_VALUE 01 -#define TWO_VALUE 02 -#define POINTER 03 - -#define PRINTER_NOTIFY_TYPE 0x00 -#define JOB_NOTIFY_TYPE 0x01 - -#define MAX_PRINTER_NOTIFY 26 - -#define PRINTER_NOTIFY_SERVER_NAME 0x00 -#define PRINTER_NOTIFY_PRINTER_NAME 0x01 -#define PRINTER_NOTIFY_SHARE_NAME 0x02 -#define PRINTER_NOTIFY_PORT_NAME 0x03 -#define PRINTER_NOTIFY_DRIVER_NAME 0x04 -#define PRINTER_NOTIFY_COMMENT 0x05 -#define PRINTER_NOTIFY_LOCATION 0x06 -#define PRINTER_NOTIFY_DEVMODE 0x07 -#define PRINTER_NOTIFY_SEPFILE 0x08 -#define PRINTER_NOTIFY_PRINT_PROCESSOR 0x09 -#define PRINTER_NOTIFY_PARAMETERS 0x0A -#define PRINTER_NOTIFY_DATATYPE 0x0B -#define PRINTER_NOTIFY_SECURITY_DESCRIPTOR 0x0C -#define PRINTER_NOTIFY_ATTRIBUTES 0x0D -#define PRINTER_NOTIFY_PRIORITY 0x0E -#define PRINTER_NOTIFY_DEFAULT_PRIORITY 0x0F -#define PRINTER_NOTIFY_START_TIME 0x10 -#define PRINTER_NOTIFY_UNTIL_TIME 0x11 -#define PRINTER_NOTIFY_STATUS 0x12 -#define PRINTER_NOTIFY_STATUS_STRING 0x13 -#define PRINTER_NOTIFY_CJOBS 0x14 -#define PRINTER_NOTIFY_AVERAGE_PPM 0x15 -#define PRINTER_NOTIFY_TOTAL_PAGES 0x16 -#define PRINTER_NOTIFY_PAGES_PRINTED 0x17 -#define PRINTER_NOTIFY_TOTAL_BYTES 0x18 -#define PRINTER_NOTIFY_BYTES_PRINTED 0x19 - -#define MAX_JOB_NOTIFY 24 - -#define JOB_NOTIFY_PRINTER_NAME 0x00 -#define JOB_NOTIFY_MACHINE_NAME 0x01 -#define JOB_NOTIFY_PORT_NAME 0x02 -#define JOB_NOTIFY_USER_NAME 0x03 -#define JOB_NOTIFY_NOTIFY_NAME 0x04 -#define JOB_NOTIFY_DATATYPE 0x05 -#define JOB_NOTIFY_PRINT_PROCESSOR 0x06 -#define JOB_NOTIFY_PARAMETERS 0x07 -#define JOB_NOTIFY_DRIVER_NAME 0x08 -#define JOB_NOTIFY_DEVMODE 0x09 -#define JOB_NOTIFY_STATUS 0x0A -#define JOB_NOTIFY_STATUS_STRING 0x0B -#define JOB_NOTIFY_SECURITY_DESCRIPTOR 0x0C -#define JOB_NOTIFY_DOCUMENT 0x0D -#define JOB_NOTIFY_PRIORITY 0x0E -#define JOB_NOTIFY_POSITION 0x0F -#define JOB_NOTIFY_SUBMITTED 0x10 -#define JOB_NOTIFY_START_TIME 0x11 -#define JOB_NOTIFY_UNTIL_TIME 0x12 -#define JOB_NOTIFY_TIME 0x13 -#define JOB_NOTIFY_TOTAL_PAGES 0x14 -#define JOB_NOTIFY_PAGES_PRINTED 0x15 -#define JOB_NOTIFY_TOTAL_BYTES 0x16 -#define JOB_NOTIFY_BYTES_PRINTED 0x17 - -/* - * The printer attributes. - * I #defined all of them (grabbed form MSDN) - * I'm only using: - * ( SHARED | NETWORK | RAW_ONLY ) - * RAW_ONLY _MUST_ be present otherwise NT will send an EMF file - */ - -#define PRINTER_ATTRIBUTE_QUEUED 0x00000001 -#define PRINTER_ATTRIBUTE_DIRECT 0x00000002 -#define PRINTER_ATTRIBUTE_DEFAULT 0x00000004 -#define PRINTER_ATTRIBUTE_SHARED 0x00000008 - -#define PRINTER_ATTRIBUTE_NETWORK 0x00000010 -#define PRINTER_ATTRIBUTE_HIDDEN 0x00000020 -#define PRINTER_ATTRIBUTE_LOCAL 0x00000040 -#define PRINTER_ATTRIBUTE_ENABLE_DEVQ 0x00000080 - -#define PRINTER_ATTRIBUTE_KEEPPRINTEDJOBS 0x00000100 -#define PRINTER_ATTRIBUTE_DO_COMPLETE_FIRST 0x00000200 -#define PRINTER_ATTRIBUTE_WORK_OFFLINE 0x00000400 -#define PRINTER_ATTRIBUTE_ENABLE_BIDI 0x00000800 - -#define PRINTER_ATTRIBUTE_RAW_ONLY 0x00001000 - -#define NO_PRIORITY 0 -#define MAX_PRIORITY 99 -#define MIN_PRIORITY 1 -#define DEF_PRIORITY 1 - -#define PRINTER_ENUM_DEFAULT 0x00000001 -#define PRINTER_ENUM_LOCAL 0x00000002 -#define PRINTER_ENUM_CONNECTIONS 0x00000004 -#define PRINTER_ENUM_FAVORITE 0x00000004 -#define PRINTER_ENUM_NAME 0x00000008 -#define PRINTER_ENUM_REMOTE 0x00000010 -#define PRINTER_ENUM_SHARED 0x00000020 -#define PRINTER_ENUM_NETWORK 0x00000040 - -#define PRINTER_ENUM_EXPAND 0x00004000 -#define PRINTER_ENUM_CONTAINER 0x00008000 - -#define PRINTER_ENUM_ICONMASK 0x00ff0000 -#define PRINTER_ENUM_ICON1 0x00010000 -#define PRINTER_ENUM_ICON2 0x00020000 -#define PRINTER_ENUM_ICON3 0x00040000 -#define PRINTER_ENUM_ICON4 0x00080000 -#define PRINTER_ENUM_ICON5 0x00100000 -#define PRINTER_ENUM_ICON6 0x00200000 -#define PRINTER_ENUM_ICON7 0x00400000 -#define PRINTER_ENUM_ICON8 0x00800000 - -typedef struct -{ - char name[100]; - uint32 flag; - uint32 width; - uint32 length; - uint32 left; - uint32 top; - uint32 right; - uint32 bottom; -} nt_forms_struct; - -typedef struct -{ - char name[100]; - char architecture[100]; - uint32 version; - char default_form[30]; - uint32 color_flag; - char driver[100]; - char datafile[100]; - char configfile[100]; - char helpfile[100]; - char monitor[100]; - char monitor_name[100]; - char **dependant; -} nt_drivers_struct; - -typedef struct devicemode -{ - UNISTR devicename; - uint16 specversion; - uint16 driverversion; - uint16 size; - uint16 driverextra; - uint32 fields; - uint16 orientation; - uint16 papersize; - uint16 paperlength; - uint16 paperwidth; - uint16 scale; - uint16 copies; - uint16 defaultsource; - uint16 printquality; - uint16 color; - uint16 duplex; - uint16 yresolution; - uint16 ttoption; - uint16 collate; - UNISTR formname; - uint16 logpixels; - uint32 bitsperpel; - uint32 pelswidth; - uint32 pelsheight; - uint32 displayflags; - uint32 displayfrequency; - uint32 icmmethod; - uint32 icmintent; - uint32 mediatype; - uint32 dithertype; - uint32 reserved1; - uint32 reserved2; - uint32 panningwidth; - uint32 panningheight; - uint8 *private; -} DEVICEMODE; - -typedef struct devicemode_container -{ - DEVICEMODE *dm; - uint8 *buffer; - uint32 size_of_buffer; -} DEVICEMODE_CONTAINER; - -#define ORIENTATION 0x00000001L -#define PAPERSIZE 0x00000002L -#define PAPERLENGTH 0x00000004L -#define PAPERWIDTH 0x00000008L -#define SCALE 0x00000010L -#define COPIES 0x00000100L -#define DEFAULTSOURCE 0x00000200L -#define PRINTQUALITY 0x00000400L -#define COLOR 0x00000800L -#define DUPLEX 0x00001000L -#define YRESOLUTION 0x00002000L -#define TTOPTION 0x00004000L -#define COLLATE 0x00008000L -#define FORMNAME 0x00010000L -#define LOGPIXELS 0x00020000L -#define BITSPERPEL 0x00040000L -#define PELSWIDTH 0x00080000L -#define PELSHEIGHT 0x00100000L -#define DISPLAYFLAGS 0x00200000L -#define DISPLAYFREQUENCY 0x00400000L -#define PANNINGWIDTH 0x00800000L -#define PANNINGHEIGHT 0x01000000L - -#define ORIENT_PORTRAIT 1 -#define ORIENT_LANDSCAPE 2 - -#define PAPER_FIRST PAPER_LETTER -#define PAPER_LETTER 1 /* Letter 8 1/2 x 11 in */ -#define PAPER_LETTERSMALL 2 /* Letter Small 8 1/2 x 11 in */ -#define PAPER_TABLOID 3 /* Tabloid 11 x 17 in */ -#define PAPER_LEDGER 4 /* Ledger 17 x 11 in */ -#define PAPER_LEGAL 5 /* Legal 8 1/2 x 14 in */ -#define PAPER_STATEMENT 6 /* Statement 5 1/2 x 8 1/2 in */ -#define PAPER_EXECUTIVE 7 /* Executive 7 1/4 x 10 1/2 in */ -#define PAPER_A3 8 /* A3 297 x 420 mm */ -#define PAPER_A4 9 /* A4 210 x 297 mm */ -#define PAPER_A4SMALL 10 /* A4 Small 210 x 297 mm */ -#define PAPER_A5 11 /* A5 148 x 210 mm */ -#define PAPER_B4 12 /* B4 (JIS) 250 x 354 */ -#define PAPER_B5 13 /* B5 (JIS) 182 x 257 mm */ -#define PAPER_FOLIO 14 /* Folio 8 1/2 x 13 in */ -#define PAPER_QUARTO 15 /* Quarto 215 x 275 mm */ -#define PAPER_10X14 16 /* 10x14 in */ -#define PAPER_11X17 17 /* 11x17 in */ -#define PAPER_NOTE 18 /* Note 8 1/2 x 11 in */ -#define PAPER_ENV_9 19 /* Envelope #9 3 7/8 x 8 7/8 */ -#define PAPER_ENV_10 20 /* Envelope #10 4 1/8 x 9 1/2 */ -#define PAPER_ENV_11 21 /* Envelope #11 4 1/2 x 10 3/8 */ -#define PAPER_ENV_12 22 /* Envelope #12 4 \276 x 11 */ -#define PAPER_ENV_14 23 /* Envelope #14 5 x 11 1/2 */ -#define PAPER_CSHEET 24 /* C size sheet */ -#define PAPER_DSHEET 25 /* D size sheet */ -#define PAPER_ESHEET 26 /* E size sheet */ -#define PAPER_ENV_DL 27 /* Envelope DL 110 x 220mm */ -#define PAPER_ENV_C5 28 /* Envelope C5 162 x 229 mm */ -#define PAPER_ENV_C3 29 /* Envelope C3 324 x 458 mm */ -#define PAPER_ENV_C4 30 /* Envelope C4 229 x 324 mm */ -#define PAPER_ENV_C6 31 /* Envelope C6 114 x 162 mm */ -#define PAPER_ENV_C65 32 /* Envelope C65 114 x 229 mm */ -#define PAPER_ENV_B4 33 /* Envelope B4 250 x 353 mm */ -#define PAPER_ENV_B5 34 /* Envelope B5 176 x 250 mm */ -#define PAPER_ENV_B6 35 /* Envelope B6 176 x 125 mm */ -#define PAPER_ENV_ITALY 36 /* Envelope 110 x 230 mm */ -#define PAPER_ENV_MONARCH 37 /* Envelope Monarch 3.875 x 7.5 in */ -#define PAPER_ENV_PERSONAL 38 /* 6 3/4 Envelope 3 5/8 x 6 1/2 in */ -#define PAPER_FANFOLD_US 39 /* US Std Fanfold 14 7/8 x 11 in */ -#define PAPER_FANFOLD_STD_GERMAN 40 /* German Std Fanfold 8 1/2 x 12 in */ -#define PAPER_FANFOLD_LGL_GERMAN 41 /* German Legal Fanfold 8 1/2 x 13 in */ - -#define PAPER_LAST PAPER_FANFOLD_LGL_GERMAN -#define PAPER_USER 256 - -#define BIN_FIRST BIN_UPPER -#define BIN_UPPER 1 -#define BIN_ONLYONE 1 -#define BIN_LOWER 2 -#define BIN_MIDDLE 3 -#define BIN_MANUAL 4 -#define BIN_ENVELOPE 5 -#define BIN_ENVMANUAL 6 -#define BIN_AUTO 7 -#define BIN_TRACTOR 8 -#define BIN_SMALLFMT 9 -#define BIN_LARGEFMT 10 -#define BIN_LARGECAPACITY 11 -#define BIN_CASSETTE 14 -#define BIN_FORMSOURCE 15 -#define BIN_LAST BIN_FORMSOURCE - -#define BIN_USER 256 /* device specific bins start here */ - -#define RES_DRAFT (-1) -#define RES_LOW (-2) -#define RES_MEDIUM (-3) -#define RES_HIGH (-4) - -#define COLOR_MONOCHROME 1 -#define COLOR_COLOR 2 - -#define DUP_SIMPLEX 1 -#define DUP_VERTICAL 2 -#define DUP_HORIZONTAL 3 - -#define TT_BITMAP 1 /* print TT fonts as graphics */ -#define TT_DOWNLOAD 2 /* download TT fonts as soft fonts */ -#define TT_SUBDEV 3 /* substitute device fonts for TT fonts */ - -#define COLLATE_FALSE 0 -#define COLLATE_TRUE 1 - -typedef struct s_header_type -{ - uint32 type; - union - { - uint32 value; - UNISTR string; - } data; -} HEADER_TYPE; - -typedef struct s_buffer -{ - uint32 ptr; - uint32 size; - uint32 count; - uint8 *data; - HEADER_TYPE *header; -} BUFFER; - - -/* SPOOL_Q_OPEN_PRINTER_EX request to open a printer */ -typedef struct spool_q_open_printer_ex -{ - uint32 ptr; - UNISTR2 printername; - uint32 unknown0; - uint32 cbbuf; - uint32 devmod; - uint32 access_required; - uint32 unknown1; /* 0x0000 0001 */ - uint32 unknown2; /* 0x0000 0001 */ - uint32 unknown3; /* ??? pointer? */ - uint32 unknown4; /* 0x0000 001c */ - uint32 unknown5; /* ??? e.g 0xb94dd0 */ - uint32 unknown6; /* ??? pointer? */ - uint32 unknown7; /* 0x0000 0565 */ - uint32 unknown8; /* 0x0000 0002 */ - uint32 unknown9; /* 0x0000 0000 */ - uint32 unknown10; /* 0x0000 0000 */ - UNISTR2 station; - UNISTR2 username; - -} SPOOL_Q_OPEN_PRINTER_EX; - -/* SPOOL_Q_OPEN_PRINTER_EX reply to an open printer */ -typedef struct spool_r_open_printer_ex -{ - POLICY_HND handle; /* handle used along all transactions (20*uint8) */ - uint32 status; - -} SPOOL_R_OPEN_PRINTER_EX; - -typedef struct spool_q_getprinterdata -{ - POLICY_HND handle; - UNISTR2 valuename; - uint32 size; -} SPOOL_Q_GETPRINTERDATA; - -typedef struct spool_r_getprinterdata -{ - uint32 type; - uint32 size; - uint8 *data; - uint32 numeric_data; - uint32 needed; - uint32 status; -} SPOOL_R_GETPRINTERDATA; - -typedef struct spool_q_closeprinter -{ - POLICY_HND handle; -} SPOOL_Q_CLOSEPRINTER; - -typedef struct spool_r_closeprinter -{ - POLICY_HND handle; - uint32 status; -} SPOOL_R_CLOSEPRINTER; - -typedef struct spool_q_startpageprinter -{ - POLICY_HND handle; -} SPOOL_Q_STARTPAGEPRINTER; - -typedef struct spool_r_startpageprinter -{ - uint32 status; -} SPOOL_R_STARTPAGEPRINTER; - -typedef struct spool_q_endpageprinter -{ - POLICY_HND handle; -} SPOOL_Q_ENDPAGEPRINTER; - -typedef struct spool_r_endpageprinter -{ - uint32 status; -} SPOOL_R_ENDPAGEPRINTER; - -typedef struct spool_doc_info_1 -{ - uint32 p_docname; - uint32 p_outputfile; - uint32 p_datatype; - UNISTR2 docname; - UNISTR2 outputfile; - UNISTR2 datatype; -} DOC_INFO_1; - -typedef struct spool_doc_info -{ - uint32 switch_value; - DOC_INFO_1 doc_info_1; -} DOC_INFO; - -typedef struct spool_doc_info_container -{ - uint32 level; - DOC_INFO docinfo; -} DOC_INFO_CONTAINER; - -typedef struct spool_q_startdocprinter -{ - POLICY_HND handle; - DOC_INFO_CONTAINER doc_info_container; -} SPOOL_Q_STARTDOCPRINTER; - -typedef struct spool_r_startdocprinter -{ - uint32 jobid; - uint32 status; -} SPOOL_R_STARTDOCPRINTER; - -typedef struct spool_q_enddocprinter -{ - POLICY_HND handle; -} SPOOL_Q_ENDDOCPRINTER; - -typedef struct spool_r_enddocprinter -{ - uint32 status; -} SPOOL_R_ENDDOCPRINTER; - -typedef struct spool_q_writeprinter -{ - POLICY_HND handle; - uint32 buffer_size; - uint8 *buffer; - uint32 buffer_size2; -} SPOOL_Q_WRITEPRINTER; - -typedef struct spool_r_writeprinter -{ - uint32 buffer_written; - uint32 status; -} SPOOL_R_WRITEPRINTER; - -typedef struct spool_notify_option_type -{ - uint16 type; - uint16 reserved0; - uint32 reserved1; - uint32 reserved2; - uint32 count; - uint16 fields[16]; -} SPOOL_NOTIFY_OPTION_TYPE; - -typedef struct spool_notify_option -{ - uint32 version; - uint32 reserved; - uint32 count; - SPOOL_NOTIFY_OPTION_TYPE type[16]; /* totally arbitrary !!! */ -} SPOOL_NOTIFY_OPTION; - -typedef struct spool_notify_info_data -{ - uint16 type; - uint16 field; - uint32 reserved; - uint32 id; - union - { - uint32 value[2]; - struct - { - uint32 length; - uint16 string[1024]; - } data; - } notify_data; - uint32 size; - BOOL enc_type; -} SPOOL_NOTIFY_INFO_DATA; - -typedef struct spool_notify_info -{ - uint32 version; - uint32 flags; - uint32 count; - SPOOL_NOTIFY_INFO_DATA data[26*16]; - /* 26 differents data types */ - /* so size it for 16 printers at max */ - /* jfmxxxx: Have to make it dynamic !!!*/ -} SPOOL_NOTIFY_INFO; - -/* If the struct name looks obscure, yes it is ! */ -/* RemoteFindFirstPrinterChangeNotificationEx query struct */ -typedef struct spoolss_q_rffpcnex -{ - POLICY_HND handle; - uint32 flags; - uint32 options; - UNISTR2 localmachine; - uint32 printerlocal; - SPOOL_NOTIFY_OPTION option; -} SPOOL_Q_RFFPCNEX; - -typedef struct spool_r_rffpcnex -{ - uint32 status; -} SPOOL_R_RFFPCNEX; - -/* Remote Find Next Printer Change Notify Ex */ -typedef struct spool_q_rfnpcnex -{ - POLICY_HND handle; - uint32 change; - SPOOL_NOTIFY_OPTION option; -} SPOOL_Q_RFNPCNEX; - -typedef struct spool_r_rfnpcnex -{ - uint32 count; - SPOOL_NOTIFY_INFO info; -} SPOOL_R_RFNPCNEX; - -/* Find Close Printer Notify */ -typedef struct spool_q_fcpn -{ - POLICY_HND handle; -} SPOOL_Q_FCPN; - -typedef struct spool_r_fcpn -{ - uint32 status; -} SPOOL_R_FCPN; - - -typedef struct printer_info_0 -{ - UNISTR printername; - UNISTR servername; - uint32 cjobs; - uint32 attributes; - uint32 unknown0; - uint32 unknown1; - uint32 unknown2; - uint32 unknown3; - uint32 unknown4; - uint32 unknown5; - uint32 unknown6; - uint16 majorversion; - uint16 buildversion; - uint32 unknown7; - uint32 unknown8; - uint32 unknown9; - uint32 unknown10; - uint32 unknown11; - uint32 unknown12; - uint32 unknown13; - uint32 unknown14; - uint32 unknown15; - uint32 unknown16; - uint32 unknown17; - uint32 unknown18; - uint32 status; - uint32 unknown20; - uint32 unknown21; - uint16 unknown22; - uint32 unknown23; -} PRINTER_INFO_0; - -typedef struct printer_info_1 -{ - uint32 flags; - UNISTR description; - UNISTR name; - UNISTR comment; -} PRINTER_INFO_1; - -typedef struct printer_info_2 -{ - UNISTR servername; - UNISTR printername; - UNISTR sharename; - UNISTR portname; - UNISTR drivername; - UNISTR comment; - UNISTR location; - DEVICEMODE *devmode; - UNISTR sepfile; - UNISTR printprocessor; - UNISTR datatype; - UNISTR parameters; - /*SECURITY_DESCRIPTOR securitydescriptor;*/ - uint32 attributes; - uint32 priority; - uint32 defaultpriority; - uint32 starttime; - uint32 untiltime; - uint32 status; - uint32 cjobs; - uint32 averageppm; -} PRINTER_INFO_2; - -typedef struct spool_q_enumprinters -{ - uint32 flags; - UNISTR2 servername; - uint32 level; - BUFFER buffer; - uint32 buf_size; -} SPOOL_Q_ENUMPRINTERS; - -typedef struct spool_r_enumprinters -{ - uint32 offered; /* number of bytes offered */ - uint32 needed; /* bytes needed */ - uint32 returned; /* number of printers */ - uint32 status; - uint32 level; - UNISTR servername; - union { - PRINTER_INFO_1 **printers_1; - PRINTER_INFO_2 **printers_2; - void *info; - } printer; -} SPOOL_R_ENUMPRINTERS; - - -typedef struct spool_q_getprinter -{ - POLICY_HND handle; - uint32 level; - uint8* buffer; - uint32 offered; - -} SPOOL_Q_GETPRINTER; - -typedef struct spool_r_getprinter -{ - POLICY_HND handle; - uint32 level; - - uint32 offered; - uint32 needed; - uint32 status; - union { - PRINTER_INFO_0 *info0; - PRINTER_INFO_1 *info1; - PRINTER_INFO_2 *info2; - void *info; - } printer; -} SPOOL_R_GETPRINTER; - -struct s_notify_info_data_table -{ - uint16 type; - uint16 field; - char *name; - uint32 size; - void (*fn) (int snum, SPOOL_NOTIFY_INFO_DATA *data, print_queue_struct *queue, NT_PRINTER_INFO_LEVEL *printer); -}; - -typedef struct spool_q_getprinterdriver2 -{ - POLICY_HND handle; - UNISTR2 architecture; - uint32 level; - BUFFER buffer; - uint32 buf_size; - uint32 status; -} SPOOL_Q_GETPRINTERDRIVER2; - -typedef struct driver_info_1 -{ - UNISTR name; -} DRIVER_INFO_1; - -typedef struct driver_info_2 -{ - uint32 version; - UNISTR name; - UNISTR architecture; - UNISTR driverpath; - UNISTR datafile; - UNISTR configfile; -} DRIVER_INFO_2; - -typedef struct driver_info_3 -{ - uint32 version; - UNISTR name; - UNISTR architecture; - UNISTR driverpath; - UNISTR datafile; - UNISTR configfile; - UNISTR helpfile; - UNISTR **dependentfiles; - UNISTR monitorname; - UNISTR defaultdatatype; -} DRIVER_INFO_3; - -typedef struct spool_r_getprinterdriver2 -{ - uint32 needed; - uint32 offered; - uint32 returned; - uint32 status; - uint32 level; - union { - DRIVER_INFO_1 *info1; - DRIVER_INFO_2 *info2; - DRIVER_INFO_3 *info3; - } printer; -} SPOOL_R_GETPRINTERDRIVER2; - -typedef struct add_jobinfo_1 -{ - UNISTR path; - uint32 job_number; -} ADD_JOBINFO_1; - - -typedef struct spool_q_addjob -{ - POLICY_HND handle; - uint32 level; - BUFFER buffer; - uint32 buf_size; -} SPOOL_Q_ADDJOB; - -typedef struct spool_r_addjob -{ - uint32 status; -} SPOOL_R_ADDJOB; - -/* - * I'm really wondering how many different time formats - * I will have to cope with - * - * JFM, 09/13/98 In a mad mood ;-( -*/ -typedef struct systemtime -{ - uint16 year; - uint16 month; - uint16 dayofweek; - uint16 day; - uint16 hour; - uint16 minute; - uint16 second; - uint16 milliseconds; -} SYSTEMTIME; - -typedef struct s_job_info_1 -{ - uint32 jobid; - UNISTR printername; - UNISTR machinename; - UNISTR username; - UNISTR document; - UNISTR datatype; - UNISTR text_status; - uint32 status; - uint32 priority; - uint32 position; - uint32 totalpages; - uint32 pagesprinted; - SYSTEMTIME submitted; -} JOB_INFO_1; - -typedef struct s_job_info_2 -{ - uint32 jobid; - UNISTR printername; - UNISTR machinename; - UNISTR username; - UNISTR document; - UNISTR notifyname; - UNISTR datatype; - UNISTR printprocessor; - UNISTR parameters; - UNISTR drivername; - DEVICEMODE *devmode; - UNISTR text_status; -/* SEC_DESC sec_desc;*/ - uint32 status; - uint32 priority; - uint32 position; - uint32 starttime; - uint32 untiltime; - uint32 totalpages; - uint32 size; - SYSTEMTIME submitted; - uint32 timeelapsed; - uint32 pagesprinted; -} JOB_INFO_2; - -typedef struct spool_q_enumjobs -{ - POLICY_HND handle; - uint32 firstjob; - uint32 numofjobs; - uint32 level; - BUFFER buffer; - uint32 buf_size; -} SPOOL_Q_ENUMJOBS; - -typedef struct spool_r_enumjobs -{ - uint32 level; - union { - JOB_INFO_1 **job_info_1; - JOB_INFO_2 **job_info_2; - void *info; - } job; - uint32 offered; - uint32 numofjobs; - uint32 status; -} SPOOL_R_ENUMJOBS; - -typedef struct spool_q_schedulejob -{ - POLICY_HND handle; - uint32 jobid; -} SPOOL_Q_SCHEDULEJOB; - -typedef struct spool_r_schedulejob -{ - uint32 status; -} SPOOL_R_SCHEDULEJOB; - -typedef struct s_port_info_1 -{ - UNISTR port_name; -} PORT_INFO_1; - -typedef struct s_port_info_2 -{ - UNISTR port_name; - UNISTR monitor_name; - UNISTR description; - uint32 port_type; - uint32 reserved; -} PORT_INFO_2; - -typedef struct spool_q_enumports -{ - UNISTR2 name; - uint32 level; - BUFFER buffer; - uint32 buf_size; -} SPOOL_Q_ENUMPORTS; - -typedef struct spool_r_enumports -{ - uint32 level; - union { - PORT_INFO_1 *port_info_1; - PORT_INFO_2 *port_info_2; - } port; - uint32 offered; - uint32 numofports; - uint32 status; -} SPOOL_R_ENUMPORTS; - -#define JOB_CONTROL_PAUSE 1 -#define JOB_CONTROL_RESUME 2 -#define JOB_CONTROL_CANCEL 3 -#define JOB_CONTROL_RESTART 4 -#define JOB_CONTROL_DELETE 5 - -typedef struct spool_q_setjob -{ - POLICY_HND handle; - uint32 jobid; - uint32 level; - union { - JOB_INFO_1 job_info_1; - JOB_INFO_2 job_info_2; - } job; - uint32 command; -} SPOOL_Q_SETJOB; - -typedef struct spool_r_setjob -{ - uint32 status; -} SPOOL_R_SETJOB; - -typedef struct spool_q_enumprinterdrivers -{ - UNISTR2 name; - UNISTR2 environment; - uint32 level; - BUFFER buffer; - uint32 buf_size; -} SPOOL_Q_ENUMPRINTERDRIVERS; - -typedef struct spool_r_enumprinterdrivers -{ - uint32 level; - union { - DRIVER_INFO_1 *driver_info_1; - DRIVER_INFO_2 *driver_info_2; - DRIVER_INFO_3 *driver_info_3; - } driver; - uint32 offered; - uint32 numofdrivers; - uint32 status; -} SPOOL_R_ENUMPRINTERDRIVERS; - -typedef struct spool_form_1 -{ - uint32 flag; - UNISTR name; - uint32 width; - uint32 length; - uint32 left; - uint32 top; - uint32 right; - uint32 bottom; -} FORM_1; - -typedef struct spool_q_enumforms -{ - POLICY_HND handle; - uint32 level; - BUFFER buffer; - uint32 buf_size; -} SPOOL_Q_ENUMFORMS; - -typedef struct spool_r_enumforms -{ - uint32 level; - FORM_1 *forms_1; - uint32 offered; - uint32 numofforms; - uint32 status; -} SPOOL_R_ENUMFORMS; - - -typedef struct spool_printer_info_level_2 -{ - uint32 servername_ptr; - uint32 printername_ptr; - uint32 sharename_ptr; - uint32 portname_ptr; - uint32 drivername_ptr; - uint32 comment_ptr; - uint32 location_ptr; - uint32 devmode_ptr; - uint32 sepfile_ptr; - uint32 printprocessor_ptr; - uint32 datatype_ptr; - uint32 parameters_ptr; - uint32 secdesc_ptr; - uint32 attributes; - uint32 priority; - uint32 default_priority; - uint32 starttime; - uint32 untiltime; - uint32 status; - uint32 cjobs; - uint32 averageppm; - UNISTR2 servername; - UNISTR2 printername; - UNISTR2 sharename; - UNISTR2 portname; - UNISTR2 drivername; - UNISTR2 comment; - UNISTR2 location; - UNISTR2 sepfile; - UNISTR2 printprocessor; - UNISTR2 datatype; - UNISTR2 parameters; - SEC_DESC_BUF *secdesc; -} SPOOL_PRINTER_INFO_LEVEL_2; - -typedef struct spool_printer_info_level -{ - SPOOL_PRINTER_INFO_LEVEL_2 *info_2; -} SPOOL_PRINTER_INFO_LEVEL; - -typedef struct spool_printer_driver_info_level_3 -{ - uint32 cversion; - uint32 name_ptr; - uint32 environment_ptr; - uint32 driverpath_ptr; - uint32 datafile_ptr; - uint32 configfile_ptr; - uint32 helpfile_ptr; - uint32 monitorname_ptr; - uint32 defaultdatatype_ptr; - uint32 dependentfilessize; - uint32 dependentfiles_ptr; - - UNISTR2 name; - UNISTR2 environment; - UNISTR2 driverpath; - UNISTR2 datafile; - UNISTR2 configfile; - UNISTR2 helpfile; - UNISTR2 monitorname; - UNISTR2 defaultdatatype; - BUFFER5 dependentfiles; - -} SPOOL_PRINTER_DRIVER_INFO_LEVEL_3; - -typedef struct spool_printer_driver_info_level -{ - SPOOL_PRINTER_DRIVER_INFO_LEVEL_3 *info_3; -} SPOOL_PRINTER_DRIVER_INFO_LEVEL; - - -/* this struct is undocumented */ -/* thanks to the ddk ... */ -typedef struct spool_user_level_1 -{ - uint32 size; - uint32 client_name_ptr; - uint32 user_name_ptr; - uint32 build; - uint32 major; - uint32 minor; - uint32 processor; - UNISTR2 client_name; - UNISTR2 user_name; -} SPOOL_USER_LEVEL_1; - -typedef struct spool_user_level -{ - SPOOL_USER_LEVEL_1 *user_level_1; -} SPOOL_USER_LEVEL; - -typedef struct spool_q_setprinter -{ - POLICY_HND handle; - uint32 level; - SPOOL_PRINTER_INFO_LEVEL info; - - DEVICEMODE *devmode; - struct - { - uint32 size_of_buffer; - uint32 data; - } security; - - uint32 command; -} SPOOL_Q_SETPRINTER; - -typedef struct spool_r_setprinter -{ - uint32 status; -} SPOOL_R_SETPRINTER; - -typedef struct spool_q_addprinter -{ - UNISTR2 server_name; - uint32 level; - SPOOL_PRINTER_INFO_LEVEL info; - uint32 unk0; - uint32 unk1; - uint32 unk2; - uint32 unk3; - uint32 user_level; - SPOOL_USER_LEVEL user; -} SPOOL_Q_ADDPRINTER; - -typedef struct spool_r_addprinter -{ - uint32 status; -} SPOOL_R_ADDPRINTER; - -typedef struct spool_q_addprinterex -{ - UNISTR2 server_name; - uint32 level; - SPOOL_PRINTER_INFO_LEVEL info; - uint32 unk0; - uint32 unk1; - uint32 unk2; - uint32 unk3; - uint32 user_level; - SPOOL_USER_LEVEL user; -} SPOOL_Q_ADDPRINTEREX; - - -typedef struct spool_r_addprinterex -{ - POLICY_HND handle; - uint32 status; -} SPOOL_R_ADDPRINTEREX; - -typedef struct spool_q_addprinterdriver -{ - UNISTR2 server_name; - uint32 level; - SPOOL_PRINTER_DRIVER_INFO_LEVEL info; -} SPOOL_Q_ADDPRINTERDRIVER; - -typedef struct spool_r_addprinterdriver -{ - uint32 status; -} SPOOL_R_ADDPRINTERDRIVER; - -typedef struct spool_q_getprinterdriverdirectory -{ - UNISTR2 name; - UNISTR2 environment; - uint32 level; - BUFFER buffer; - uint32 buf_size; -} SPOOL_Q_GETPRINTERDRIVERDIR; - -typedef struct driver_directory_1 -{ - UNISTR name; -} DRIVER_DIRECTORY_1 ; - -typedef struct spool_r_getprinterdriverdirectory -{ - uint32 level; - union { - DRIVER_DIRECTORY_1 driver_info_1; - } driver; - uint32 offered; - uint32 status; -} SPOOL_R_GETPRINTERDRIVERDIR; - -typedef struct spool_q_enumprintprocessors -{ - UNISTR2 name; - UNISTR2 environment; - uint32 level; - BUFFER buffer; - uint32 buf_size; -} SPOOL_Q_ENUMPRINTPROCESSORS; - -typedef struct printprocessor_1 -{ - UNISTR name; -} PRINTPROCESSOR_1; - -typedef struct spool_r_enumprintprocessors -{ - uint32 level; - PRINTPROCESSOR_1 *info_1; - uint32 offered; - uint32 numofprintprocessors; - uint32 status; -} SPOOL_R_ENUMPRINTPROCESSORS; - -typedef struct spool_q_enumprintprocessordatatypes -{ - UNISTR2 name; - UNISTR2 printprocessor; - uint32 level; - BUFFER buffer; - uint32 buf_size; -} SPOOL_Q_ENUMPRINTPROCESSORDATATYPES; - -typedef struct ppdatatype_1 -{ - UNISTR name; -} PPDATATYPE_1; - -typedef struct spool_r_enumprintprocessordatatypes -{ - uint32 level; - PPDATATYPE_1 *info_1; - uint32 offered; - uint32 numofppdatatypes; - uint32 status; -} SPOOL_R_ENUMPRINTPROCESSORDATATYPES; - -typedef struct spool_q_enumprintmonitors -{ - UNISTR2 name; - uint32 level; - BUFFER buffer; - uint32 buf_size; -} SPOOL_Q_ENUMPRINTMONITORS; - -typedef struct printmonitor_1 -{ - UNISTR name; -} PRINTMONITOR_1; - -typedef struct spool_r_enumprintmonitors -{ - uint32 level; - PRINTMONITOR_1 *info_1; - uint32 offered; - uint32 numofprintmonitors; - uint32 status; -} SPOOL_R_ENUMPRINTMONITORS; - -typedef struct spool_q_enumprinterdata -{ - POLICY_HND handle; - uint32 index; - uint32 valuesize; - uint32 datasize; -} SPOOL_Q_ENUMPRINTERDATA; - -typedef struct spool_r_enumprinterdata -{ - uint32 valuesize; - UNISTR value; - uint32 realvaluesize; - uint32 type; - uint32 datasize; - uint8 *data; - uint32 realdatasize; - uint32 status; -} SPOOL_R_ENUMPRINTERDATA; - -typedef struct spool_q_setprinterdata -{ - POLICY_HND handle; - UNISTR2 value; - uint32 type; - uint32 max_len; - uint8 *data; - uint32 real_len; - uint32 numeric_data; -} SPOOL_Q_SETPRINTERDATA; - -typedef struct spool_r_setprinterdata -{ - uint32 status; -} SPOOL_R_SETPRINTERDATA; - -typedef struct _form -{ - uint32 flags; - uint32 name_ptr; - uint32 size_x; - uint32 size_y; - uint32 left; - uint32 top; - uint32 right; - uint32 bottom; - UNISTR2 name; -} FORM; - -typedef struct spool_q_addform -{ - POLICY_HND handle; - uint32 level; - uint32 level2; - FORM form; -} SPOOL_Q_ADDFORM; - -typedef struct spool_r_addform -{ - uint32 status; -} SPOOL_R_ADDFORM; - -typedef struct spool_q_setform -{ - POLICY_HND handle; - UNISTR2 name; - uint32 level; - uint32 level2; - FORM form; -} SPOOL_Q_SETFORM; - -typedef struct spool_r_setform -{ - uint32 status; -} SPOOL_R_SETFORM; - -typedef struct spool_q_getjob -{ - POLICY_HND handle; - uint32 jobid; - uint32 level; - BUFFER buffer; - uint32 buf_size; -} SPOOL_Q_GETJOB; - -typedef struct spool_r_getjob -{ - uint32 level; - union { - JOB_INFO_1 *job_info_1; - JOB_INFO_2 *job_info_2; - } job; - uint32 offered; - uint32 status; -} SPOOL_R_GETJOB; - -#define PRINTER_DRIVER_VERSION 2 -#define PRINTER_DRIVER_ARCHITECTURE "Windows NT x86" - - -#endif /* _RPC_SPOOLSS_H */ - diff --git a/source3/include/rpc_svcctl.h b/source3/include/rpc_svcctl.h deleted file mode 100644 index ecd1188fe8..0000000000 --- a/source3/include/rpc_svcctl.h +++ /dev/null @@ -1,288 +0,0 @@ -/* - Unix SMB/Netbios implementation. - Version 1.9. - SMB parameters and setup - Copyright (C) Andrew Tridgell 1992-1997 - Copyright (C) Luke Kenneth Casson Leighton 1996-1997 - Copyright (C) Paul Ashton 1997 - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. -*/ - -#ifndef _RPC_SVCCTL_H /* _RPC_SVCCTL_H */ -#define _RPC_SVCCTL_H - - -/* svcctl pipe */ -#define SVC_OPEN_SC_MAN 0x0f -#define SVC_ENUM_SVCS_STATUS 0x0e -#define SVC_QUERY_SVC_CONFIG 0x11 -#define SVC_QUERY_DISP_NAME 0x14 -#define SVC_CHANGE_SVC_CONFIG 0x0b -#define SVC_OPEN_SERVICE 0x10 -#define SVC_START_SERVICE 0x13 -#define SVC_STOP_SERVICE 0x01 -#define SVC_CLOSE 0x00 - - -/* SVC_Q_OPEN_SC_MAN */ -typedef struct q_svc_open_sc_man_info -{ - uint32 ptr_srv_name; /* pointer (to server name?) */ - UNISTR2 uni_srv_name; /* unicode server name starting with '\\' */ - - uint32 ptr_db_name; /* pointer (to database name?) */ - UNISTR2 uni_db_name; /* unicode database name */ - - uint32 des_access; /* 0x80000004 - SC_MANAGER_xxxx */ - -} SVC_Q_OPEN_SC_MAN; - -/* SVC_R_OPEN_SC_MAN */ -typedef struct r_svc_open_sc_man_info -{ - POLICY_HND pol; - uint32 status; /* return status */ - -} SVC_R_OPEN_SC_MAN; - -/* SVC_Q_OPEN_SERVICE */ -typedef struct q_svc_open_service_info -{ - POLICY_HND scman_pol; - UNISTR2 uni_svc_name; /* unicode service name */ - uint32 des_access; /* 0x8000 0001 */ - -} SVC_Q_OPEN_SERVICE; - -/* SVC_R_OPEN_SERVICE */ -typedef struct r_svc_open_service_info -{ - POLICY_HND pol; - uint32 status; /* return status */ - -} SVC_R_OPEN_SERVICE; - -#define MAX_SVC_ARGS 10 - -/* SVC_Q_STOP_SERVICE */ -typedef struct q_svc_stop_service_info -{ - POLICY_HND pol; - - uint32 unknown; - -} SVC_Q_STOP_SERVICE; - -/* SVC_R_STOP_SERVICE */ -typedef struct r_svc_stop_service_info -{ - uint32 unknown0; /* 0x00000020 */ - uint32 unknown1; /* 0x00000001 */ - uint32 unknown2; /* 0x00000001 */ - uint32 unknown3; /* 0x00000000 */ - uint32 unknown4; /* 0x00000000 */ - uint32 unknown5; /* 0x00000000 */ - uint32 unknown6; /* 0x00000000 */ - uint32 status; - -} SVC_R_STOP_SERVICE; - -/* SVC_Q_START_SERVICE */ -typedef struct q_svc_start_service_info -{ - POLICY_HND pol; - - uint32 argc; - uint32 ptr_args; - uint32 argc2; - uint32 ptr_argv[MAX_SVC_ARGS]; - UNISTR2 argv[MAX_SVC_ARGS]; - -} SVC_Q_START_SERVICE; - -/* SVC_R_START_SERVICE */ -typedef struct r_svc_start_service_info -{ - uint32 status; - -} SVC_R_START_SERVICE; - - -/* QUERY_SERVICE_CONFIG */ -typedef struct query_service_config_info -{ - uint32 service_type; - uint32 start_type; - uint32 error_control; - uint32 ptr_bin_path_name; - uint32 ptr_load_order_grp; - uint32 tag_id; - uint32 ptr_dependencies; - uint32 ptr_service_start_name; - uint32 ptr_display_name; - - UNISTR2 uni_bin_path_name; - UNISTR2 uni_load_order_grp; - UNISTR2 uni_dependencies; - UNISTR2 uni_service_start_name; - UNISTR2 uni_display_name; - -} QUERY_SERVICE_CONFIG; - -/* SVC_STATUS */ -typedef struct svc_status_info -{ - uint32 svc_type; - uint32 current_state; - uint32 controls_accepted; - uint32 win32_exit_code; - uint32 svc_specific_exit_code; - uint32 check_point; - uint32 wait_hint; - -} SVC_STATUS; - -/* ENUM_SRVC_STATUS */ -typedef struct enum_svc_status_info -{ - UNISTR uni_srvc_name; - UNISTR uni_disp_name; - SVC_STATUS status; - -} ENUM_SRVC_STATUS; - -/* SVC_Q_ENUM_SVCS_STATUS */ -typedef struct q_svc_enum_svcs_status_info -{ - POLICY_HND pol; - uint32 service_type; /* 0x00000030 - win32 | 0x0000000b - driver */ - uint32 service_state; /* 0x00000003 - state_all */ - uint32 buf_size; /* max service buffer size */ - ENUM_HND resume_hnd; /* resume handle */ - -} SVC_Q_ENUM_SVCS_STATUS; - -/* SVC_R_ENUM_SVCS_STATUS */ -typedef struct r_svc_enum_svcs_status_info -{ - uint32 buf_size; /* service buffer size */ - ENUM_SRVC_STATUS *svcs; - uint32 more_buf_size; - uint32 num_svcs; - ENUM_HND resume_hnd; /* resume handle */ - uint32 dos_status; /* return status, DOS error code (wow!) */ - -} SVC_R_ENUM_SVCS_STATUS; - - -/* SVC_Q_QUERY_SVC_CONFIG */ -typedef struct q_svc_query_svc_cfg_info -{ - POLICY_HND pol; - uint32 buf_size; - -} SVC_Q_QUERY_SVC_CONFIG; - - -/* SVC_R_QUERY_SVC_CONFIG */ -typedef struct r_svc_query_svc_cfg_info -{ - QUERY_SERVICE_CONFIG *cfg; - uint32 buf_size; - uint32 status; /* return status */ - -} SVC_R_QUERY_SVC_CONFIG; - - -/* SVC_Q_QUERY_DISP_NAME */ -typedef struct q_svc_query_disp_name_info -{ - POLICY_HND scman_pol; - UNISTR2 uni_svc_name; - uint32 buf_size; - -} SVC_Q_QUERY_DISP_NAME; - - -/* SVC_R_QUERY_DISP_NAME */ -typedef struct r_svc_query_disp_name_info -{ - UNISTR2 uni_disp_name; - uint32 buf_size; - uint32 status; - -} SVC_R_QUERY_DISP_NAME; - - -/* SVC_Q_CLOSE */ -typedef struct q_svc_close_info -{ - POLICY_HND pol; - -} SVC_Q_CLOSE; - - - -/* SVC_R_CLOSE */ -typedef struct r_svc_close_info -{ - POLICY_HND pol; - uint32 status; /* return status */ - -} SVC_R_CLOSE; - -/* SVC_Q_CHANGE_SVC_CONFIG */ -typedef struct q_svc_change_svc_cfg_info -{ - POLICY_HND pol; - uint32 service_type; - uint32 start_type; - uint32 unknown_0; - uint32 error_control; - - uint32 ptr_bin_path_name; - UNISTR2 uni_bin_path_name; - - uint32 ptr_load_order_grp; - UNISTR2 uni_load_order_grp; - - uint32 tag_id; - - uint32 ptr_dependencies; - UNISTR2 uni_dependencies; - - uint32 ptr_service_start_name; - UNISTR2 uni_service_start_name; - - uint32 ptr_password; - STRING2 str_password; - - uint32 ptr_display_name; - UNISTR2 uni_display_name; - -} SVC_Q_CHANGE_SVC_CONFIG; - -/* SVC_R_CHANGE_SVC_CONFIG */ -typedef struct r_svc_change_svc_cfg_info -{ - uint32 unknown_0; /* */ - uint32 status; /* return status */ - -} SVC_R_CHANGE_SVC_CONFIG; - - -#endif /* _RPC_SVCCTL_H */ - diff --git a/source3/include/safe_string.h b/source3/include/safe_string.h deleted file mode 100644 index 3b2f2c32d6..0000000000 --- a/source3/include/safe_string.h +++ /dev/null @@ -1,45 +0,0 @@ -/* - Unix SMB/Netbios implementation. - Version 1.9. - Safe string handling routines. - Copyright (C) Andrew Tridgell 1994-1998 - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. -*/ - -#ifndef _SAFE_STRING_H -#define _SAFE_STRING_H - -#ifdef strcpy -#undef strcpy -#endif /* strcpy */ -#define strcpy(dest,src) __ERROR__XX__NEVER_USE_STRCPY___; - -#ifdef strcat -#undef strcat -#endif /* strcat */ -#define strcat(dest,src) __ERROR__XX__NEVER_USE_STRCAT___; - -#ifdef sprintf -#undef sprintf -#endif /* sprintf */ -#define sprintf __ERROR__XX__NEVER_USE_SPRINTF__; - -#define pstrcpy(d,s) safe_strcpy((d),(s),sizeof(pstring)-1) -#define pstrcat(d,s) safe_strcat((d),(s),sizeof(pstring)-1) -#define fstrcpy(d,s) safe_strcpy((d),(s),sizeof(fstring)-1) -#define fstrcat(d,s) safe_strcat((d),(s),sizeof(fstring)-1) - -#endif diff --git a/source3/include/smb_macros.h b/source3/include/smb_macros.h deleted file mode 100644 index 979aec1d2c..0000000000 --- a/source3/include/smb_macros.h +++ /dev/null @@ -1,154 +0,0 @@ -/* - Unix SMB/Netbios implementation. - Version 1.9. - SMB parameters and setup - Copyright (C) Andrew Tridgell 1992-1999 - Copyright (C) John H Terpstra 1996-1999 - Copyright (C) Luke Kenneth Casson Leighton 1996-1999 - Copyright (C) Paul Ashton 1998 - 1999 - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. -*/ - -#ifndef _SMB_MACROS_H -#define _SMB_MACROS_H - -/* Misc bit macros */ -#define BOOLSTR(b) ((b) ? "Yes" : "No") -#define BITSETB(ptr,bit) ((((char *)ptr)[0] & (1<<(bit)))!=0) -#define BITSETW(ptr,bit) ((SVAL(ptr,0) & (1<<(bit)))!=0) - -#define IS_BITS_SET_ALL(var,bit) (((var)&(bit))==(bit)) -#define IS_BITS_SET_SOME(var,bit) (((var)&(bit))!=0) -#define IS_BITS_CLR_ALL(var,bit) (((var)&(bit))==0) -#define IS_BITS_CLR_SOME(var,bit) (((var)&(bit))!=(bit)) - -/* for readability... */ -#define IS_DOS_READONLY(test_mode) (((test_mode) & aRONLY) != 0) -#define IS_DOS_DIR(test_mode) (((test_mode) & aDIR) != 0) -#define IS_DOS_ARCHIVE(test_mode) (((test_mode) & aARCH) != 0) -#define IS_DOS_SYSTEM(test_mode) (((test_mode) & aSYSTEM) != 0) -#define IS_DOS_HIDDEN(test_mode) (((test_mode) & aHIDDEN) != 0) - -/* zero a structure */ -#define ZERO_STRUCT(x) memset((char *)&(x), 0, sizeof(x)) - -/* zero a structure given a pointer to the structure */ -#define ZERO_STRUCTP(x) { if ((x) != NULL) memset((char *)(x), 0, sizeof(*(x))); } - -/* zero an array - note that sizeof(array) must work - ie. it must not be a - pointer */ -#define ZERO_ARRAY(x) memset((char *)(x), 0, sizeof(x)) - -/* pointer difference macro */ -#define PTR_DIFF(p1,p2) ((ptrdiff_t)(((const char *)(p1)) - (const char *)(p2))) - -/* assert macros */ -#define SMB_ASSERT(b) ((b)?(void)0: \ - (DEBUG(0,("PANIC: assert failed at %s(%d)\n", \ - __FILE__, __LINE__)), smb_panic("assert failed"))) -#define SMB_ASSERT_ARRAY(a,n) SMB_ASSERT((sizeof(a)/sizeof((a)[0])) >= (n)) - -/* these are useful macros for checking validity of handles */ -#define OPEN_FSP(fsp) ((fsp) && (fsp)->open && !(fsp)->is_directory) -#define OPEN_CONN(conn) ((conn) && (conn)->open) -#define IS_IPC(conn) ((conn) && (conn)->ipc) -#define IS_PRINT(conn) ((conn) && (conn)->printer) -#define FNUM_OK(fsp,c) (OPEN_FSP(fsp) && (c)==(fsp)->conn) - -#define CHECK_FSP(fsp,conn) if (!FNUM_OK(fsp,conn)) \ - return(ERROR(ERRDOS,ERRbadfid)) -#define CHECK_READ(fsp) if (!(fsp)->can_read) \ - return(ERROR(ERRDOS,ERRbadaccess)) -#define CHECK_WRITE(fsp) if (!(fsp)->can_write) \ - return(ERROR(ERRDOS,ERRbadaccess)) -#define CHECK_ERROR(fsp) if (HAS_CACHED_ERROR(fsp)) \ - return(CACHED_ERROR(fsp)) - -/* translates a connection number into a service number */ -#define SNUM(conn) ((conn)?(conn)->service:-1) - -/* access various service details */ -#define SERVICE(snum) (lp_servicename(snum)) -#define PRINTCAP (lp_printcapname()) -#define PRINTCOMMAND(snum) (lp_printcommand(snum)) -#define PRINTERNAME(snum) (lp_printername(snum)) -#define CAN_WRITE(conn) (!conn->read_only) -#define VALID_SNUM(snum) (lp_snum_ok(snum)) -#define GUEST_OK(snum) (VALID_SNUM(snum) && lp_guest_ok(snum)) -#define GUEST_ONLY(snum) (VALID_SNUM(snum) && lp_guest_only(snum)) -#define CAN_SETDIR(snum) (!lp_no_set_dir(snum)) -#define CAN_PRINT(conn) ((conn) && lp_print_ok((conn)->service)) -#define MAP_HIDDEN(conn) ((conn) && lp_map_hidden((conn)->service)) -#define MAP_SYSTEM(conn) ((conn) && lp_map_system((conn)->service)) -#define MAP_ARCHIVE(conn) ((conn) && lp_map_archive((conn)->service)) -#define IS_HIDDEN_PATH(conn,path) ((conn) && is_in_path((path),(conn)->hide_list)) -#define IS_VETO_PATH(conn,path) ((conn) && is_in_path((path),(conn)->veto_list)) -#define IS_VETO_OPLOCK_PATH(conn,path) ((conn) && is_in_path((path),(conn)->veto_oplock_list)) - -/* - * Used by the stat cache code to check if a returned - * stat structure is valid. - */ - -#define VALID_STAT(st) (st.st_nlink != 0) -#define VALID_STAT_OF_DIR(st) (VALID_STAT(st) && S_ISDIR(st.st_mode)) - -#define SMBENCRYPT() (lp_encrypted_passwords()) - -#ifndef MIN -#define MIN(a,b) ((a)<(b)?(a):(b)) -#endif -#ifndef MAX -#define MAX(a,b) ((a)>(b)?(a):(b)) -#endif - -#ifndef ABS -#define ABS(a) ((a)>0?(a):(-(a))) -#endif - -/* Macros to get at offsets within smb_lkrng and smb_unlkrng - structures. We cannot define these as actual structures - due to possible differences in structure packing - on different machines/compilers. */ - -#define SMB_LPID_OFFSET(indx) (10 * (indx)) -#define SMB_LKOFF_OFFSET(indx) ( 2 + (10 * (indx))) -#define SMB_LKLEN_OFFSET(indx) ( 6 + (10 * (indx))) -#define SMB_LARGE_LKOFF_OFFSET_HIGH(indx) (4 + (20 * (indx))) -#define SMB_LARGE_LKOFF_OFFSET_LOW(indx) (8 + (20 * (indx))) -#define SMB_LARGE_LKLEN_OFFSET_HIGH(indx) (12 + (20 * (indx))) -#define SMB_LARGE_LKLEN_OFFSET_LOW(indx) (16 + (20 * (indx))) - -/* Macro to cache an error in a write_bmpx_struct */ -#define CACHE_ERROR(w,c,e) ((w)->wr_errclass = (c), (w)->wr_error = (e), \ - w->wr_discard = True, -1) -/* Macro to test if an error has been cached for this fnum */ -#define HAS_CACHED_ERROR(fsp) ((fsp)->open && (fsp)->wbmpx_ptr && \ - (fsp)->wbmpx_ptr->wr_discard) -/* Macro to turn the cached error into an error packet */ -#define CACHED_ERROR(fsp) cached_error_packet(inbuf,outbuf,fsp,__LINE__) - -/* these are the datagram types */ -#define DGRAM_DIRECT_UNIQUE 0x10 - -#define ERROR(class,x) error_packet(inbuf,outbuf,class,x,__LINE__) - -/* this is how errors are generated */ -#define UNIXERROR(defclass,deferror) unix_error_packet(inbuf,outbuf,defclass,deferror,__LINE__) - -#define SMB_ROUNDUP(x,g) (((x)+((g)-1))&~((g)-1)) - -#endif /* _SMB_MACROS_H */ diff --git a/source3/include/vagent.h b/source3/include/vagent.h deleted file mode 100644 index c8b85181e4..0000000000 --- a/source3/include/vagent.h +++ /dev/null @@ -1,51 +0,0 @@ -/* - Unix SMB/Netbios implementation. - Version 1.9. - Vagent structures and parameters - Copyright (C) Luke Kenneth Casson Leighton 1999 - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. -*/ - -#ifndef _VAGENT_H -#define _VAGENT_H - -/* Vagent operations structure */ - -struct sock_redir -{ - int c; - int s; - int c_id; - int s_id; - void *n; -}; - -struct vagent_ops -{ - void (*free_sock)(void* sock); - int (*get_agent_sock)(char* id); - - BOOL (*process_cli_sock)(struct sock_redir **socks, uint32 num_socks, - struct sock_redir *sock); - BOOL (*process_srv_sock)(struct sock_redir **socks, uint32 num_socks, - int fd); - - char* id; - struct sock_redir **socks; - uint32 num_socks; -}; - -#endif /* _VAGENT_H */ diff --git a/source3/include/vfs.h b/source3/include/vfs.h deleted file mode 100644 index d4ca8823ca..0000000000 --- a/source3/include/vfs.h +++ /dev/null @@ -1,146 +0,0 @@ -/* - Unix SMB/Netbios implementation. - Version 1.9. - VFS structures and parameters - Copyright (C) Tim Potter 1999 - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. -*/ - -#ifndef _VFS_H -#define _VFS_H - -/* Types used in the definition of VFS operations. These are included - here so the vfs.h file can be included by VFS modules without - having to pull in unnecessary amounts of other stuff. Note to VFS - writers: you must include config.h before including this file. - The following type definitions reference the HAVE_* symbols which - are defined in config.h */ - -#ifndef SMB_OFF_T -# ifdef HAVE_OFF64_T -# define SMB_OFF_T off64_t -# else -# define SMB_OFF_T off_t -# endif -#endif - -#ifndef SMB_STRUCT_STAT -# if defined(HAVE_STAT64) && defined(HAVE_OFF64_T) -# define SMB_STRUCT_STAT struct stat64 -# else -# define SMB_STRUCT_STAT struct stat -# endif -#endif - -#ifndef _BOOL -typedef int BOOL; -#endif - -#ifndef _PSTRING -#define PSTRING_LEN 1024 -#define FSTRING_LEN 128 - -typedef char pstring[PSTRING_LEN]; -typedef char fstring[FSTRING_LEN]; -#define _PSTRING -#endif - -#if defined(HAVE_LONGLONG) -#define SMB_BIG_UINT unsigned long long -#else -#define SMB_BIG_UINT unsigned long -#endif - -/* Information from the connection_struct passed to the vfs layer */ - -struct vfs_connection_struct { - - /* Connection information */ - - BOOL printer; - BOOL ipc; - BOOL read_only; - BOOL admin_user; - - /* Paths */ - - pstring dirpath; - pstring connectpath; - pstring origpath; - pstring service; - - /* Information on user who *opened* this connection */ - - pstring user; - uid_t uid; - gid_t gid; - int ngroups; - gid_t *groups; -}; - -/* Avoid conflict with an AIX include file */ - -#ifdef vfs_ops -#undef vfs_ops -#endif - -/* VFS operations structure */ - -struct vfs_ops { - - /* Disk operations */ - - int (*connect)(struct vfs_connection_struct *conn, char *service, - char *user); - void (*disconnect)(void); - SMB_BIG_UINT (*disk_free)(char *path, SMB_BIG_UINT *bsize, - SMB_BIG_UINT *dfree, SMB_BIG_UINT *dsize); - - /* Directory operations */ - - DIR *(*opendir)(char *fname); - struct dirent *(*readdir)(DIR *dirp); - int (*mkdir)(char *path, mode_t mode); - int (*rmdir)(char *path); - int (*closedir)(DIR *dir); - - /* File operations */ - - int (*open)(char *fname, int flags, mode_t mode); - int (*close)(int fd); - ssize_t (*read)(int fd, char *data, size_t n); - ssize_t (*write)(int fd, char *data, size_t n); - SMB_OFF_T (*lseek)(int filedes, SMB_OFF_T offset, int whence); - int (*rename)(char *old, char *new); - void (*sync)(int fd); - int (*stat)(char *fname, SMB_STRUCT_STAT *sbuf); - int (*fstat)(int fd, SMB_STRUCT_STAT *sbuf); - int (*lstat)(char *path, SMB_STRUCT_STAT *sbuf); - BOOL (*lock)(int fd, int op, SMB_OFF_T offset, SMB_OFF_T count, int type); - int (*unlink)(char *path); - int (*chmod)(char *path, mode_t mode); - int (*utime)(char *path, struct utimbuf *times); -}; - -/* VFS options for configuration file */ - -struct vfs_options { - struct vfs_options *prev, *next; - char *name; - char *value; -}; - -#endif /* _VFS_H */ |