// /usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.1/cc1 -quiet -I. -I/var/tmp/portage/samba-3.0.0-r1/work/samba-3.0.0/source -Iinclude -I/var/tmp/portage/samba-3.0.0-r1/work/samba-3.0.0/source/include -I/var/tmp/portage/samba-3.0.0-r1/work/samba-3.0.0/source/ubiqx -I/var/tmp/portage/samba-3.0.0-r1/work/samba-3.0.0/source/smbwrapper -I. -I/var/tmp/portage/samba-3.0.0-r1/work/samba-3.0.0/source -D__GNUC__=3 -D__GNUC_MINOR__=3 -D__GNUC_PATCHLEVEL__=1 -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE rpcclient/cmd_spoolss.c -quiet -dumpbase cmd_spoolss.c -march=pentium3 -mfpmath=sse,387 -auxbase-strip rpcclient/cmd_spoolss.o -Os -fomit-frame-pointer -ffast-math -fforce-addr -falign-functions=16 -falign-labels=1 -falign-loops=16 -falign-jumps=16 -fstack-protector -ftracer -fnew-ra -fmerge-all-constants -funroll-all-loops -o - # 1 "rpcclient/cmd_spoolss.c" # 1 "" # 1 "" # 1 "rpcclient/cmd_spoolss.c" # 25 "rpcclient/cmd_spoolss.c" # 1 "include/includes.h" 1 # 25 "include/includes.h" # 1 "include/config.h" 1 # 26 "include/includes.h" 2 # 1 "include/local.h" 1 # 29 "include/includes.h" 2 # 85 "include/includes.h" # 1 "/usr/include/sys/types.h" 1 3 4 # 27 "/usr/include/sys/types.h" 3 4 # 1 "/usr/include/features.h" 1 3 4 # 295 "/usr/include/features.h" 3 4 # 1 "/usr/include/sys/cdefs.h" 1 3 4 # 296 "/usr/include/features.h" 2 3 4 # 318 "/usr/include/features.h" 3 4 # 1 "/usr/include/gnu/stubs.h" 1 3 4 # 319 "/usr/include/features.h" 2 3 4 # 28 "/usr/include/sys/types.h" 2 3 4 # 1 "/usr/include/bits/types.h" 1 3 4 # 28 "/usr/include/bits/types.h" 3 4 # 1 "/usr/include/bits/wordsize.h" 1 3 4 # 29 "/usr/include/bits/types.h" 2 3 4 # 1 "/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.1/include/stddef.h" 1 3 4 # 213 "/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.1/include/stddef.h" 3 4 typedef unsigned int size_t; # 32 "/usr/include/bits/types.h" 2 3 4 typedef unsigned char __u_char; typedef unsigned short int __u_short; typedef unsigned int __u_int; typedef unsigned long int __u_long; typedef signed char __int8_t; typedef unsigned char __uint8_t; typedef signed short int __int16_t; typedef unsigned short int __uint16_t; typedef signed int __int32_t; typedef unsigned int __uint32_t; __extension__ typedef signed long long int __int64_t; __extension__ typedef unsigned long long int __uint64_t; __extension__ typedef long long int __quad_t; __extension__ typedef unsigned long long int __u_quad_t; # 129 "/usr/include/bits/types.h" 3 4 # 1 "/usr/include/bits/typesizes.h" 1 3 4 # 130 "/usr/include/bits/types.h" 2 3 4 __extension__ typedef unsigned long long int __dev_t; __extension__ typedef unsigned int __uid_t; __extension__ typedef unsigned int __gid_t; __extension__ typedef unsigned long int __ino_t; __extension__ typedef unsigned long long int __ino64_t; __extension__ typedef unsigned int __mode_t; __extension__ typedef unsigned int __nlink_t; __extension__ typedef long int __off_t; __extension__ typedef long long int __off64_t; __extension__ typedef int __pid_t; __extension__ typedef struct { int __val[2]; } __fsid_t; __extension__ typedef long int __clock_t; __extension__ typedef unsigned long int __rlim_t; __extension__ typedef unsigned long long int __rlim64_t; __extension__ typedef unsigned int __id_t; __extension__ typedef long int __time_t; __extension__ typedef unsigned int __useconds_t; __extension__ typedef long int __suseconds_t; __extension__ typedef int __daddr_t; __extension__ typedef long int __swblk_t; __extension__ typedef int __key_t; __extension__ typedef int __clockid_t; __extension__ typedef int __timer_t; __extension__ typedef long int __blksize_t; __extension__ typedef long int __blkcnt_t; __extension__ typedef long long int __blkcnt64_t; __extension__ typedef unsigned long int __fsblkcnt_t; __extension__ typedef unsigned long long int __fsblkcnt64_t; __extension__ typedef unsigned long int __fsfilcnt_t; __extension__ typedef unsigned long long int __fsfilcnt64_t; __extension__ typedef int __ssize_t; typedef __off64_t __loff_t; typedef __quad_t *__qaddr_t; typedef char *__caddr_t; __extension__ typedef int __intptr_t; __extension__ typedef unsigned int __socklen_t; # 32 "/usr/include/sys/types.h" 2 3 4 typedef __u_char u_char; typedef __u_short u_short; typedef __u_int u_int; typedef __u_long u_long; typedef __quad_t quad_t; typedef __u_quad_t u_quad_t; typedef __fsid_t fsid_t; typedef __loff_t loff_t; typedef __ino64_t ino_t; typedef __ino64_t ino64_t; typedef __dev_t dev_t; typedef __gid_t gid_t; typedef __mode_t mode_t; typedef __nlink_t nlink_t; typedef __uid_t uid_t; typedef __off64_t off_t; typedef __off64_t off64_t; typedef __pid_t pid_t; typedef __id_t id_t; typedef __ssize_t ssize_t; typedef __daddr_t daddr_t; typedef __caddr_t caddr_t; typedef __key_t key_t; # 133 "/usr/include/sys/types.h" 3 4 # 1 "/usr/include/time.h" 1 3 4 # 58 "/usr/include/time.h" 3 4 typedef __clock_t clock_t; # 74 "/usr/include/time.h" 3 4 typedef __time_t time_t; # 92 "/usr/include/time.h" 3 4 typedef __clockid_t clockid_t; # 104 "/usr/include/time.h" 3 4 typedef __timer_t timer_t; # 134 "/usr/include/sys/types.h" 2 3 4 typedef __useconds_t useconds_t; typedef __suseconds_t suseconds_t; # 1 "/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.1/include/stddef.h" 1 3 4 # 148 "/usr/include/sys/types.h" 2 3 4 typedef unsigned long int ulong; typedef unsigned short int ushort; typedef unsigned int uint; # 191 "/usr/include/sys/types.h" 3 4 typedef int int8_t __attribute__ ((__mode__ (__QI__))); typedef int int16_t __attribute__ ((__mode__ (__HI__))); typedef int int32_t __attribute__ ((__mode__ (__SI__))); typedef int int64_t __attribute__ ((__mode__ (__DI__))); typedef unsigned int u_int8_t __attribute__ ((__mode__ (__QI__))); typedef unsigned int u_int16_t __attribute__ ((__mode__ (__HI__))); typedef unsigned int u_int32_t __attribute__ ((__mode__ (__SI__))); typedef unsigned int u_int64_t __attribute__ ((__mode__ (__DI__))); typedef int register_t __attribute__ ((__mode__ (__word__))); # 213 "/usr/include/sys/types.h" 3 4 # 1 "/usr/include/endian.h" 1 3 4 # 37 "/usr/include/endian.h" 3 4 # 1 "/usr/include/bits/endian.h" 1 3 4 # 38 "/usr/include/endian.h" 2 3 4 # 214 "/usr/include/sys/types.h" 2 3 4 # 1 "/usr/include/sys/select.h" 1 3 4 # 31 "/usr/include/sys/select.h" 3 4 # 1 "/usr/include/bits/select.h" 1 3 4 # 32 "/usr/include/sys/select.h" 2 3 4 # 1 "/usr/include/bits/sigset.h" 1 3 4 # 23 "/usr/include/bits/sigset.h" 3 4 typedef int __sig_atomic_t; typedef struct { unsigned long int __val[(1024 / (8 * sizeof (unsigned long int)))]; } __sigset_t; # 35 "/usr/include/sys/select.h" 2 3 4 typedef __sigset_t sigset_t; # 1 "/usr/include/time.h" 1 3 4 # 118 "/usr/include/time.h" 3 4 struct timespec { __time_t tv_sec; long int tv_nsec; }; # 45 "/usr/include/sys/select.h" 2 3 4 # 1 "/usr/include/bits/time.h" 1 3 4 # 69 "/usr/include/bits/time.h" 3 4 struct timeval { __time_t tv_sec; __suseconds_t tv_usec; }; # 47 "/usr/include/sys/select.h" 2 3 4 # 55 "/usr/include/sys/select.h" 3 4 typedef long int __fd_mask; # 67 "/usr/include/sys/select.h" 3 4 typedef struct { __fd_mask fds_bits[1024 / (8 * sizeof (__fd_mask))]; } fd_set; typedef __fd_mask fd_mask; # 99 "/usr/include/sys/select.h" 3 4 # 109 "/usr/include/sys/select.h" 3 4 extern int select (int __nfds, fd_set *__restrict __readfds, fd_set *__restrict __writefds, fd_set *__restrict __exceptfds, struct timeval *__restrict __timeout); # 121 "/usr/include/sys/select.h" 3 4 extern int pselect (int __nfds, fd_set *__restrict __readfds, fd_set *__restrict __writefds, fd_set *__restrict __exceptfds, const struct timespec *__restrict __timeout, const __sigset_t *__restrict __sigmask); # 217 "/usr/include/sys/types.h" 2 3 4 # 1 "/usr/include/sys/sysmacros.h" 1 3 4 # 29 "/usr/include/sys/sysmacros.h" 3 4 __extension__ extern __inline unsigned int gnu_dev_major (unsigned long long int __dev) ; __extension__ extern __inline unsigned int gnu_dev_minor (unsigned long long int __dev) ; __extension__ extern __inline unsigned long long int gnu_dev_makedev (unsigned int __major, unsigned int __minor) ; __extension__ extern __inline unsigned int gnu_dev_major (unsigned long long int __dev) { return ((__dev >> 8) & 0xfff) | ((unsigned int) (__dev >> 32) & ~0xfff); } __extension__ extern __inline unsigned int gnu_dev_minor (unsigned long long int __dev) { return (__dev & 0xff) | ((unsigned int) (__dev >> 12) & ~0xff); } __extension__ extern __inline unsigned long long int gnu_dev_makedev (unsigned int __major, unsigned int __minor) { return ((__minor & 0xff) | ((__major & 0xfff) << 8) | (((unsigned long long int) (__minor & ~0xff)) << 12) | (((unsigned long long int) (__major & ~0xfff)) << 32)); } # 220 "/usr/include/sys/types.h" 2 3 4 typedef __blksize_t blksize_t; # 244 "/usr/include/sys/types.h" 3 4 typedef __blkcnt64_t blkcnt_t; typedef __fsblkcnt64_t fsblkcnt_t; typedef __fsfilcnt64_t fsfilcnt_t; typedef __blkcnt64_t blkcnt64_t; typedef __fsblkcnt64_t fsblkcnt64_t; typedef __fsfilcnt64_t fsfilcnt64_t; # 1 "/usr/include/bits/pthreadtypes.h" 1 3 4 # 23 "/usr/include/bits/pthreadtypes.h" 3 4 # 1 "/usr/include/bits/sched.h" 1 3 4 # 83 "/usr/include/bits/sched.h" 3 4 struct __sched_param { int __sched_priority; }; # 24 "/usr/include/bits/pthreadtypes.h" 2 3 4 struct _pthread_fastlock { long int __status; int __spinlock; }; typedef struct _pthread_descr_struct *_pthread_descr; typedef struct __pthread_attr_s { int __detachstate; int __schedpolicy; struct __sched_param __schedparam; int __inheritsched; int __scope; size_t __guardsize; int __stackaddr_set; void *__stackaddr; size_t __stacksize; } pthread_attr_t; __extension__ typedef long long __pthread_cond_align_t; typedef struct { struct _pthread_fastlock __c_lock; _pthread_descr __c_waiting; char __padding[48 - sizeof (struct _pthread_fastlock) - sizeof (_pthread_descr) - sizeof (__pthread_cond_align_t)]; __pthread_cond_align_t __align; } pthread_cond_t; typedef struct { int __dummy; } pthread_condattr_t; typedef unsigned int pthread_key_t; typedef struct { int __m_reserved; int __m_count; _pthread_descr __m_owner; int __m_kind; struct _pthread_fastlock __m_lock; } pthread_mutex_t; typedef struct { int __mutexkind; } pthread_mutexattr_t; typedef int pthread_once_t; typedef struct _pthread_rwlock_t { struct _pthread_fastlock __rw_lock; int __rw_readers; _pthread_descr __rw_writer; _pthread_descr __rw_read_waiting; _pthread_descr __rw_write_waiting; int __rw_kind; int __rw_pshared; } pthread_rwlock_t; typedef struct { int __lockkind; int __pshared; } pthread_rwlockattr_t; typedef volatile int pthread_spinlock_t; typedef struct { struct _pthread_fastlock __ba_lock; int __ba_required; int __ba_present; _pthread_descr __ba_waiting; } pthread_barrier_t; typedef struct { int __pshared; } pthread_barrierattr_t; typedef unsigned long int pthread_t; # 267 "/usr/include/sys/types.h" 2 3 4 # 86 "include/includes.h" 2 # 1 "/usr/include/sys/time.h" 1 3 4 # 26 "/usr/include/sys/time.h" 3 4 # 1 "/usr/include/time.h" 1 3 4 # 27 "/usr/include/sys/time.h" 2 3 4 # 1 "/usr/include/bits/time.h" 1 3 4 # 29 "/usr/include/sys/time.h" 2 3 4 # 38 "/usr/include/sys/time.h" 3 4 # 56 "/usr/include/sys/time.h" 3 4 struct timezone { int tz_minuteswest; int tz_dsttime; }; typedef struct timezone *__restrict __timezone_ptr_t; # 72 "/usr/include/sys/time.h" 3 4 extern int gettimeofday (struct timeval *__restrict __tv, __timezone_ptr_t __tz) ; extern int settimeofday (__const struct timeval *__tv, __const struct timezone *__tz) ; extern int adjtime (__const struct timeval *__delta, struct timeval *__olddelta) ; enum __itimer_which { ITIMER_REAL = 0, ITIMER_VIRTUAL = 1, ITIMER_PROF = 2 }; struct itimerval { struct timeval it_interval; struct timeval it_value; }; typedef enum __itimer_which __itimer_which_t; extern int getitimer (__itimer_which_t __which, struct itimerval *__value) ; extern int setitimer (__itimer_which_t __which, __const struct itimerval *__restrict __new, struct itimerval *__restrict __old) ; extern int utimes (__const char *__file, __const struct timeval __tvp[2]) ; extern int lutimes (__const char *__file, __const struct timeval __tvp[2]) ; extern int futimes (int __fd, __const struct timeval __tvp[2]) ; # 181 "/usr/include/sys/time.h" 3 4 # 89 "include/includes.h" 2 # 1 "/usr/include/time.h" 1 3 4 # 30 "/usr/include/time.h" 3 4 # 1 "/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.1/include/stddef.h" 1 3 4 # 39 "/usr/include/time.h" 2 3 4 # 1 "/usr/include/bits/time.h" 1 3 4 # 43 "/usr/include/time.h" 2 3 4 # 129 "/usr/include/time.h" 3 4 struct tm { int tm_sec; int tm_min; int tm_hour; int tm_mday; int tm_mon; int tm_year; int tm_wday; int tm_yday; int tm_isdst; long int tm_gmtoff; __const char *tm_zone; }; struct itimerspec { struct timespec it_interval; struct timespec it_value; }; struct sigevent; # 178 "/usr/include/time.h" 3 4 extern clock_t clock (void) ; extern time_t time (time_t *__timer) ; extern double difftime (time_t __time1, time_t __time0) __attribute__ ((__const__)); extern time_t mktime (struct tm *__tp) ; extern size_t strftime (char *__restrict __s, size_t __maxsize, __const char *__restrict __format, __const struct tm *__restrict __tp) ; extern char *strptime (__const char *__restrict __s, __const char *__restrict __fmt, struct tm *__tp) ; # 1 "/usr/include/xlocale.h" 1 3 4 # 28 "/usr/include/xlocale.h" 3 4 typedef struct __locale_struct { struct locale_data *__locales[13]; const unsigned short int *__ctype_b; const int *__ctype_tolower; const int *__ctype_toupper; const char *__names[13]; } *__locale_t; # 214 "/usr/include/time.h" 2 3 4 extern size_t strftime_l (char *__restrict __s, size_t __maxsize, __const char *__restrict __format, __const struct tm *__restrict __tp, __locale_t __loc) ; extern char *strptime_l (__const char *__restrict __s, __const char *__restrict __fmt, struct tm *__tp, __locale_t __loc) ; extern struct tm *gmtime (__const time_t *__timer) ; extern struct tm *localtime (__const time_t *__timer) ; extern struct tm *gmtime_r (__const time_t *__restrict __timer, struct tm *__restrict __tp) ; extern struct tm *localtime_r (__const time_t *__restrict __timer, struct tm *__restrict __tp) ; extern char *asctime (__const struct tm *__tp) ; extern char *ctime (__const time_t *__timer) ; extern char *asctime_r (__const struct tm *__restrict __tp, char *__restrict __buf) ; extern char *ctime_r (__const time_t *__restrict __timer, char *__restrict __buf) ; extern char *__tzname[2]; extern int __daylight; extern long int __timezone; extern char *tzname[2]; extern void tzset (void) ; extern int daylight; extern long int timezone; extern int stime (__const time_t *__when) ; # 309 "/usr/include/time.h" 3 4 extern time_t timegm (struct tm *__tp) ; extern time_t timelocal (struct tm *__tp) ; extern int dysize (int __year) __attribute__ ((__const__)); # 324 "/usr/include/time.h" 3 4 extern int nanosleep (__const struct timespec *__requested_time, struct timespec *__remaining); extern int clock_getres (clockid_t __clock_id, struct timespec *__res) ; extern int clock_gettime (clockid_t __clock_id, struct timespec *__tp) ; extern int clock_settime (clockid_t __clock_id, __const struct timespec *__tp) ; extern int clock_nanosleep (clockid_t __clock_id, int __flags, __const struct timespec *__req, struct timespec *__rem); extern int clock_getcpuclockid (pid_t __pid, clockid_t *__clock_id) ; extern int timer_create (clockid_t __clock_id, struct sigevent *__restrict __evp, timer_t *__restrict __timerid) ; extern int timer_delete (timer_t __timerid) ; extern int timer_settime (timer_t __timerid, int __flags, __const struct itimerspec *__restrict __value, struct itimerspec *__restrict __ovalue) ; extern int timer_gettime (timer_t __timerid, struct itimerspec *__value) ; extern int timer_getoverrun (timer_t __timerid) ; # 386 "/usr/include/time.h" 3 4 extern int getdate_err; # 395 "/usr/include/time.h" 3 4 extern struct tm *getdate (__const char *__string); # 409 "/usr/include/time.h" 3 4 extern int getdate_r (__const char *__restrict __string, struct tm *__restrict __resbufp); # 90 "include/includes.h" 2 # 99 "include/includes.h" # 1 "/usr/include/sys/resource.h" 1 3 4 # 25 "/usr/include/sys/resource.h" 3 4 # 1 "/usr/include/bits/resource.h" 1 3 4 # 32 "/usr/include/bits/resource.h" 3 4 enum __rlimit_resource { RLIMIT_CPU = 0, RLIMIT_FSIZE = 1, RLIMIT_DATA = 2, RLIMIT_STACK = 3, RLIMIT_CORE = 4, RLIMIT_RSS = 5, RLIMIT_NOFILE = 7, RLIMIT_OFILE = RLIMIT_NOFILE, RLIMIT_AS = 9, RLIMIT_NPROC = 6, RLIMIT_MEMLOCK = 8, RLIMIT_LOCKS = 10, RLIMIT_NLIMITS = 11, RLIM_NLIMITS = RLIMIT_NLIMITS }; # 109 "/usr/include/bits/resource.h" 3 4 typedef __rlim64_t rlim_t; typedef __rlim64_t rlim64_t; struct rlimit { rlim_t rlim_cur; rlim_t rlim_max; }; struct rlimit64 { rlim64_t rlim_cur; rlim64_t rlim_max; }; enum __rusage_who { RUSAGE_SELF = 0, RUSAGE_CHILDREN = -1, RUSAGE_BOTH = -2 }; # 1 "/usr/include/bits/time.h" 1 3 4 # 151 "/usr/include/bits/resource.h" 2 3 4 struct rusage { struct timeval ru_utime; struct timeval ru_stime; long int ru_maxrss; long int ru_ixrss; long int ru_idrss; long int ru_isrss; long int ru_minflt; long int ru_majflt; long int ru_nswap; long int ru_inblock; long int ru_oublock; long int ru_msgsnd; long int ru_msgrcv; long int ru_nsignals; long int ru_nvcsw; long int ru_nivcsw; }; enum __priority_which { PRIO_PROCESS = 0, PRIO_PGRP = 1, PRIO_USER = 2 }; # 26 "/usr/include/sys/resource.h" 2 3 4 typedef enum __rlimit_resource __rlimit_resource_t; typedef enum __rusage_who __rusage_who_t; typedef enum __priority_which __priority_which_t; # 55 "/usr/include/sys/resource.h" 3 4 extern int getrlimit (__rlimit_resource_t __resource, struct rlimit *__rlimits) __asm__ ("" "getrlimit64"); extern int getrlimit64 (__rlimit_resource_t __resource, struct rlimit64 *__rlimits) ; # 75 "/usr/include/sys/resource.h" 3 4 extern int setrlimit (__rlimit_resource_t __resource, __const struct rlimit *__rlimits) __asm__ ("" "setrlimit64"); extern int setrlimit64 (__rlimit_resource_t __resource, __const struct rlimit64 *__rlimits) ; extern int getrusage (__rusage_who_t __who, struct rusage *__usage) ; extern int getpriority (__priority_which_t __which, id_t __who) ; extern int setpriority (__priority_which_t __which, id_t __who, int __prio) ; # 100 "include/includes.h" 2 # 1 "/usr/include/unistd.h" 1 3 4 # 28 "/usr/include/unistd.h" 3 4 # 171 "/usr/include/unistd.h" 3 4 # 1 "/usr/include/bits/posix_opt.h" 1 3 4 # 172 "/usr/include/unistd.h" 2 3 4 # 1 "/usr/include/bits/environments.h" 1 3 4 # 23 "/usr/include/bits/environments.h" 3 4 # 1 "/usr/include/bits/wordsize.h" 1 3 4 # 24 "/usr/include/bits/environments.h" 2 3 4 # 176 "/usr/include/unistd.h" 2 3 4 # 195 "/usr/include/unistd.h" 3 4 # 1 "/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.1/include/stddef.h" 1 3 4 # 196 "/usr/include/unistd.h" 2 3 4 # 236 "/usr/include/unistd.h" 3 4 typedef __intptr_t intptr_t; typedef __socklen_t socklen_t; # 256 "/usr/include/unistd.h" 3 4 extern int access (__const char *__name, int __type) ; extern int euidaccess (__const char *__name, int __type) ; # 289 "/usr/include/unistd.h" 3 4 extern __off64_t lseek (int __fd, __off64_t __offset, int __whence) __asm__ ("" "lseek64"); # 298 "/usr/include/unistd.h" 3 4 extern __off64_t lseek64 (int __fd, __off64_t __offset, int __whence) ; extern int close (int __fd); extern ssize_t read (int __fd, void *__buf, size_t __nbytes); extern ssize_t write (int __fd, __const void *__buf, size_t __n); # 340 "/usr/include/unistd.h" 3 4 extern ssize_t pread (int __fd, void *__buf, size_t __nbytes, __off64_t __offset) __asm__ ("" "pread64"); extern ssize_t pwrite (int __fd, __const void *__buf, size_t __nbytes, __off64_t __offset) __asm__ ("" "pwrite64"); # 356 "/usr/include/unistd.h" 3 4 extern ssize_t pread64 (int __fd, void *__buf, size_t __nbytes, __off64_t __offset); extern ssize_t pwrite64 (int __fd, __const void *__buf, size_t __n, __off64_t __offset); extern int pipe (int __pipedes[2]) ; # 378 "/usr/include/unistd.h" 3 4 extern unsigned int alarm (unsigned int __seconds) ; # 390 "/usr/include/unistd.h" 3 4 extern unsigned int sleep (unsigned int __seconds); extern __useconds_t ualarm (__useconds_t __value, __useconds_t __interval) ; extern int usleep (__useconds_t __useconds); # 414 "/usr/include/unistd.h" 3 4 extern int pause (void); extern int chown (__const char *__file, __uid_t __owner, __gid_t __group) ; extern int fchown (int __fd, __uid_t __owner, __gid_t __group) ; extern int lchown (__const char *__file, __uid_t __owner, __gid_t __group) ; extern int chdir (__const char *__path) ; extern int fchdir (int __fd) ; # 448 "/usr/include/unistd.h" 3 4 extern char *getcwd (char *__buf, size_t __size) ; extern char *get_current_dir_name (void) ; extern char *getwd (char *__buf) ; extern int dup (int __fd) ; extern int dup2 (int __fd, int __fd2) ; extern char **__environ; extern char **environ; extern int execve (__const char *__path, char *__const __argv[], char *__const __envp[]) ; extern int fexecve (int __fd, char *__const __argv[], char *__const __envp[]) ; extern int execv (__const char *__path, char *__const __argv[]) ; extern int execle (__const char *__path, __const char *__arg, ...) ; extern int execl (__const char *__path, __const char *__arg, ...) ; extern int execvp (__const char *__file, char *__const __argv[]) ; extern int execlp (__const char *__file, __const char *__arg, ...) ; extern int nice (int __inc) ; extern void _exit (int __status) __attribute__ ((__noreturn__)); # 1 "/usr/include/bits/confname.h" 1 3 4 # 25 "/usr/include/bits/confname.h" 3 4 enum { _PC_LINK_MAX, _PC_MAX_CANON, _PC_MAX_INPUT, _PC_NAME_MAX, _PC_PATH_MAX, _PC_PIPE_BUF, _PC_CHOWN_RESTRICTED, _PC_NO_TRUNC, _PC_VDISABLE, _PC_SYNC_IO, _PC_ASYNC_IO, _PC_PRIO_IO, _PC_SOCK_MAXBUF, _PC_FILESIZEBITS, _PC_REC_INCR_XFER_SIZE, _PC_REC_MAX_XFER_SIZE, _PC_REC_MIN_XFER_SIZE, _PC_REC_XFER_ALIGN, _PC_ALLOC_SIZE_MIN, _PC_SYMLINK_MAX, _PC_2_SYMLINKS }; enum { _SC_ARG_MAX, _SC_CHILD_MAX, _SC_CLK_TCK, _SC_NGROUPS_MAX, _SC_OPEN_MAX, _SC_STREAM_MAX, _SC_TZNAME_MAX, _SC_JOB_CONTROL, _SC_SAVED_IDS, _SC_REALTIME_SIGNALS, _SC_PRIORITY_SCHEDULING, _SC_TIMERS, _SC_ASYNCHRONOUS_IO, _SC_PRIORITIZED_IO, _SC_SYNCHRONIZED_IO, _SC_FSYNC, _SC_MAPPED_FILES, _SC_MEMLOCK, _SC_MEMLOCK_RANGE, _SC_MEMORY_PROTECTION, _SC_MESSAGE_PASSING, _SC_SEMAPHORES, _SC_SHARED_MEMORY_OBJECTS, _SC_AIO_LISTIO_MAX, _SC_AIO_MAX, _SC_AIO_PRIO_DELTA_MAX, _SC_DELAYTIMER_MAX, _SC_MQ_OPEN_MAX, _SC_MQ_PRIO_MAX, _SC_VERSION, _SC_PAGESIZE, _SC_RTSIG_MAX, _SC_SEM_NSEMS_MAX, _SC_SEM_VALUE_MAX, _SC_SIGQUEUE_MAX, _SC_TIMER_MAX, _SC_BC_BASE_MAX, _SC_BC_DIM_MAX, _SC_BC_SCALE_MAX, _SC_BC_STRING_MAX, _SC_COLL_WEIGHTS_MAX, _SC_EQUIV_CLASS_MAX, _SC_EXPR_NEST_MAX, _SC_LINE_MAX, _SC_RE_DUP_MAX, _SC_CHARCLASS_NAME_MAX, _SC_2_VERSION, _SC_2_C_BIND, _SC_2_C_DEV, _SC_2_FORT_DEV, _SC_2_FORT_RUN, _SC_2_SW_DEV, _SC_2_LOCALEDEF, _SC_PII, _SC_PII_XTI, _SC_PII_SOCKET, _SC_PII_INTERNET, _SC_PII_OSI, _SC_POLL, _SC_SELECT, _SC_UIO_MAXIOV, _SC_IOV_MAX = _SC_UIO_MAXIOV, _SC_PII_INTERNET_STREAM, _SC_PII_INTERNET_DGRAM, _SC_PII_OSI_COTS, _SC_PII_OSI_CLTS, _SC_PII_OSI_M, _SC_T_IOV_MAX, _SC_THREADS, _SC_THREAD_SAFE_FUNCTIONS, _SC_GETGR_R_SIZE_MAX, _SC_GETPW_R_SIZE_MAX, _SC_LOGIN_NAME_MAX, _SC_TTY_NAME_MAX, _SC_THREAD_DESTRUCTOR_ITERATIONS, _SC_THREAD_KEYS_MAX, _SC_THREAD_STACK_MIN, _SC_THREAD_THREADS_MAX, _SC_THREAD_ATTR_STACKADDR, _SC_THREAD_ATTR_STACKSIZE, _SC_THREAD_PRIORITY_SCHEDULING, _SC_THREAD_PRIO_INHERIT, _SC_THREAD_PRIO_PROTECT, _SC_THREAD_PROCESS_SHARED, _SC_NPROCESSORS_CONF, _SC_NPROCESSORS_ONLN, _SC_PHYS_PAGES, _SC_AVPHYS_PAGES, _SC_ATEXIT_MAX, _SC_PASS_MAX, _SC_XOPEN_VERSION, _SC_XOPEN_XCU_VERSION, _SC_XOPEN_UNIX, _SC_XOPEN_CRYPT, _SC_XOPEN_ENH_I18N, _SC_XOPEN_SHM, _SC_2_CHAR_TERM, _SC_2_C_VERSION, _SC_2_UPE, _SC_XOPEN_XPG2, _SC_XOPEN_XPG3, _SC_XOPEN_XPG4, _SC_CHAR_BIT, _SC_CHAR_MAX, _SC_CHAR_MIN, _SC_INT_MAX, _SC_INT_MIN, _SC_LONG_BIT, _SC_WORD_BIT, _SC_MB_LEN_MAX, _SC_NZERO, _SC_SSIZE_MAX, _SC_SCHAR_MAX, _SC_SCHAR_MIN, _SC_SHRT_MAX, _SC_SHRT_MIN, _SC_UCHAR_MAX, _SC_UINT_MAX, _SC_ULONG_MAX, _SC_USHRT_MAX, _SC_NL_ARGMAX, _SC_NL_LANGMAX, _SC_NL_MSGMAX, _SC_NL_NMAX, _SC_NL_SETMAX, _SC_NL_TEXTMAX, _SC_XBS5_ILP32_OFF32, _SC_XBS5_ILP32_OFFBIG, _SC_XBS5_LP64_OFF64, _SC_XBS5_LPBIG_OFFBIG, _SC_XOPEN_LEGACY, _SC_XOPEN_REALTIME, _SC_XOPEN_REALTIME_THREADS, _SC_ADVISORY_INFO, _SC_BARRIERS, _SC_BASE, _SC_C_LANG_SUPPORT, _SC_C_LANG_SUPPORT_R, _SC_CLOCK_SELECTION, _SC_CPUTIME, _SC_THREAD_CPUTIME, _SC_DEVICE_IO, _SC_DEVICE_SPECIFIC, _SC_DEVICE_SPECIFIC_R, _SC_FD_MGMT, _SC_FIFO, _SC_PIPE, _SC_FILE_ATTRIBUTES, _SC_FILE_LOCKING, _SC_FILE_SYSTEM, _SC_MONOTONIC_CLOCK, _SC_MULTI_PROCESS, _SC_SINGLE_PROCESS, _SC_NETWORKING, _SC_READER_WRITER_LOCKS, _SC_SPIN_LOCKS, _SC_REGEXP, _SC_REGEX_VERSION, _SC_SHELL, _SC_SIGNALS, _SC_SPAWN, _SC_SPORADIC_SERVER, _SC_THREAD_SPORADIC_SERVER, _SC_SYSTEM_DATABASE, _SC_SYSTEM_DATABASE_R, _SC_TIMEOUTS, _SC_TYPED_MEMORY_OBJECTS, _SC_USER_GROUPS, _SC_USER_GROUPS_R, _SC_2_PBS, _SC_2_PBS_ACCOUNTING, _SC_2_PBS_LOCATE, _SC_2_PBS_MESSAGE, _SC_2_PBS_TRACK, _SC_SYMLOOP_MAX, _SC_STREAMS, _SC_2_PBS_CHECKPOINT, _SC_V6_ILP32_OFF32, _SC_V6_ILP32_OFFBIG, _SC_V6_LP64_OFF64, _SC_V6_LPBIG_OFFBIG, _SC_HOST_NAME_MAX, _SC_TRACE, _SC_TRACE_EVENT_FILTER, _SC_TRACE_INHERIT, _SC_TRACE_LOG }; enum { _CS_PATH, _CS_V6_WIDTH_RESTRICTED_ENVS, _CS_GNU_LIBC_VERSION, _CS_GNU_LIBPTHREAD_VERSION, _CS_LFS_CFLAGS = 1000, _CS_LFS_LDFLAGS, _CS_LFS_LIBS, _CS_LFS_LINTFLAGS, _CS_LFS64_CFLAGS, _CS_LFS64_LDFLAGS, _CS_LFS64_LIBS, _CS_LFS64_LINTFLAGS, _CS_XBS5_ILP32_OFF32_CFLAGS = 1100, _CS_XBS5_ILP32_OFF32_LDFLAGS, _CS_XBS5_ILP32_OFF32_LIBS, _CS_XBS5_ILP32_OFF32_LINTFLAGS, _CS_XBS5_ILP32_OFFBIG_CFLAGS, _CS_XBS5_ILP32_OFFBIG_LDFLAGS, _CS_XBS5_ILP32_OFFBIG_LIBS, _CS_XBS5_ILP32_OFFBIG_LINTFLAGS, _CS_XBS5_LP64_OFF64_CFLAGS, _CS_XBS5_LP64_OFF64_LDFLAGS, _CS_XBS5_LP64_OFF64_LIBS, _CS_XBS5_LP64_OFF64_LINTFLAGS, _CS_XBS5_LPBIG_OFFBIG_CFLAGS, _CS_XBS5_LPBIG_OFFBIG_LDFLAGS, _CS_XBS5_LPBIG_OFFBIG_LIBS, _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS, _CS_POSIX_V6_ILP32_OFF32_CFLAGS, _CS_POSIX_V6_ILP32_OFF32_LDFLAGS, _CS_POSIX_V6_ILP32_OFF32_LIBS, _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS, _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS, _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS, _CS_POSIX_V6_ILP32_OFFBIG_LIBS, _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS, _CS_POSIX_V6_LP64_OFF64_CFLAGS, _CS_POSIX_V6_LP64_OFF64_LDFLAGS, _CS_POSIX_V6_LP64_OFF64_LIBS, _CS_POSIX_V6_LP64_OFF64_LINTFLAGS, _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS, _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS, _CS_POSIX_V6_LPBIG_OFFBIG_LIBS, _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS }; # 526 "/usr/include/unistd.h" 2 3 4 extern long int pathconf (__const char *__path, int __name) ; extern long int fpathconf (int __fd, int __name) ; extern long int sysconf (int __name) __attribute__ ((__const__)); extern size_t confstr (int __name, char *__buf, size_t __len) ; extern __pid_t getpid (void) ; extern __pid_t getppid (void) ; extern __pid_t getpgrp (void) ; # 561 "/usr/include/unistd.h" 3 4 extern __pid_t __getpgid (__pid_t __pid) ; extern __pid_t getpgid (__pid_t __pid) ; extern int setpgid (__pid_t __pid, __pid_t __pgid) ; # 587 "/usr/include/unistd.h" 3 4 extern int setpgrp (void) ; # 605 "/usr/include/unistd.h" 3 4 extern __pid_t setsid (void) ; extern __pid_t getsid (__pid_t __pid) ; extern __uid_t getuid (void) ; extern __uid_t geteuid (void) ; extern __gid_t getgid (void) ; extern __gid_t getegid (void) ; extern int getgroups (int __size, __gid_t __list[]) ; extern int group_member (__gid_t __gid) ; extern int setuid (__uid_t __uid) ; extern int setreuid (__uid_t __ruid, __uid_t __euid) ; extern int seteuid (__uid_t __uid) ; extern int setgid (__gid_t __gid) ; extern int setregid (__gid_t __rgid, __gid_t __egid) ; extern int setegid (__gid_t __gid) ; extern int getresuid (__uid_t *__euid, __uid_t *__ruid, __uid_t *__suid); extern int getresgid (__gid_t *__egid, __gid_t *__rgid, __gid_t *__sgid); extern int setresuid (__uid_t __euid, __uid_t __ruid, __uid_t __suid); extern int setresgid (__gid_t __egid, __gid_t __rgid, __gid_t __sgid); extern __pid_t fork (void) ; extern __pid_t vfork (void) ; extern char *ttyname (int __fd) ; extern int ttyname_r (int __fd, char *__buf, size_t __buflen) ; extern int isatty (int __fd) ; extern int ttyslot (void) ; extern int link (__const char *__from, __const char *__to) ; extern int symlink (__const char *__from, __const char *__to) ; extern int readlink (__const char *__restrict __path, char *__restrict __buf, size_t __len) ; extern int unlink (__const char *__name) ; extern int rmdir (__const char *__path) ; extern __pid_t tcgetpgrp (int __fd) ; extern int tcsetpgrp (int __fd, __pid_t __pgrp_id) ; extern char *getlogin (void); extern int getlogin_r (char *__name, size_t __name_len); extern int setlogin (__const char *__name) ; # 775 "/usr/include/unistd.h" 3 4 # 1 "/usr/include/getopt.h" 1 3 4 # 55 "/usr/include/getopt.h" 3 4 extern char *optarg; # 69 "/usr/include/getopt.h" 3 4 extern int optind; extern int opterr; extern int optopt; # 153 "/usr/include/getopt.h" 3 4 extern int getopt (int ___argc, char *const *___argv, const char *__shortopts) ; # 776 "/usr/include/unistd.h" 2 3 4 extern int gethostname (char *__name, size_t __len) ; extern int sethostname (__const char *__name, size_t __len) ; extern int sethostid (long int __id) ; extern int getdomainname (char *__name, size_t __len) ; extern int setdomainname (__const char *__name, size_t __len) ; extern int vhangup (void) ; extern int revoke (__const char *__file) ; extern int profil (unsigned short int *__sample_buffer, size_t __size, size_t __offset, unsigned int __scale) ; extern int acct (__const char *__name) ; extern char *getusershell (void) ; extern void endusershell (void) ; extern void setusershell (void) ; extern int daemon (int __nochdir, int __noclose) ; extern int chroot (__const char *__path) ; extern char *getpass (__const char *__prompt); # 857 "/usr/include/unistd.h" 3 4 extern int fsync (int __fd); extern long int gethostid (void); extern void sync (void) ; extern int getpagesize (void) __attribute__ ((__const__)); extern int truncate (__const char *__file, __off64_t __length) __asm__ ("" "truncate64"); extern int truncate64 (__const char *__file, __off64_t __length) ; extern int ftruncate (int __fd, __off64_t __length) __asm__ ("" "ftruncate64"); extern int ftruncate64 (int __fd, __off64_t __length) ; extern int getdtablesize (void) ; # 918 "/usr/include/unistd.h" 3 4 extern int brk (void *__addr) ; extern void *sbrk (intptr_t __delta) ; # 939 "/usr/include/unistd.h" 3 4 extern long int syscall (long int __sysno, ...) ; # 965 "/usr/include/unistd.h" 3 4 extern int lockf (int __fd, int __cmd, __off64_t __len) __asm__ ("" "lockf64"); extern int lockf64 (int __fd, int __cmd, __off64_t __len); # 993 "/usr/include/unistd.h" 3 4 extern int fdatasync (int __fildes) ; extern char *crypt (__const char *__key, __const char *__salt) ; extern void encrypt (char *__block, int __edflag) ; extern void swab (__const void *__restrict __from, void *__restrict __to, ssize_t __n) ; extern char *ctermid (char *__s) ; # 104 "include/includes.h" 2 # 1 "/usr/include/stdio.h" 1 3 4 # 30 "/usr/include/stdio.h" 3 4 # 1 "/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.1/include/stddef.h" 1 3 4 # 35 "/usr/include/stdio.h" 2 3 4 # 44 "/usr/include/stdio.h" 3 4 typedef struct _IO_FILE FILE; # 62 "/usr/include/stdio.h" 3 4 typedef struct _IO_FILE __FILE; # 72 "/usr/include/stdio.h" 3 4 # 1 "/usr/include/libio.h" 1 3 4 # 32 "/usr/include/libio.h" 3 4 # 1 "/usr/include/_G_config.h" 1 3 4 # 14 "/usr/include/_G_config.h" 3 4 # 1 "/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.1/include/stddef.h" 1 3 4 # 325 "/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.1/include/stddef.h" 3 4 typedef long int wchar_t; # 354 "/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.1/include/stddef.h" 3 4 typedef unsigned int wint_t; # 15 "/usr/include/_G_config.h" 2 3 4 # 24 "/usr/include/_G_config.h" 3 4 # 1 "/usr/include/wchar.h" 1 3 4 # 48 "/usr/include/wchar.h" 3 4 # 1 "/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.1/include/stddef.h" 1 3 4 # 49 "/usr/include/wchar.h" 2 3 4 # 1 "/usr/include/bits/wchar.h" 1 3 4 # 51 "/usr/include/wchar.h" 2 3 4 # 76 "/usr/include/wchar.h" 3 4 typedef struct { int __count; union { wint_t __wch; char __wchb[4]; } __value; } __mbstate_t; # 25 "/usr/include/_G_config.h" 2 3 4 typedef struct { __off_t __pos; __mbstate_t __state; } _G_fpos_t; typedef struct { __off64_t __pos; __mbstate_t __state; } _G_fpos64_t; # 44 "/usr/include/_G_config.h" 3 4 # 1 "/usr/include/gconv.h" 1 3 4 # 28 "/usr/include/gconv.h" 3 4 # 1 "/usr/include/wchar.h" 1 3 4 # 48 "/usr/include/wchar.h" 3 4 # 1 "/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.1/include/stddef.h" 1 3 4 # 49 "/usr/include/wchar.h" 2 3 4 # 29 "/usr/include/gconv.h" 2 3 4 # 1 "/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.1/include/stddef.h" 1 3 4 # 32 "/usr/include/gconv.h" 2 3 4 enum { __GCONV_OK = 0, __GCONV_NOCONV, __GCONV_NODB, __GCONV_NOMEM, __GCONV_EMPTY_INPUT, __GCONV_FULL_OUTPUT, __GCONV_ILLEGAL_INPUT, __GCONV_INCOMPLETE_INPUT, __GCONV_ILLEGAL_DESCRIPTOR, __GCONV_INTERNAL_ERROR }; enum { __GCONV_IS_LAST = 0x0001, __GCONV_IGNORE_ERRORS = 0x0002 }; struct __gconv_step; struct __gconv_step_data; struct __gconv_loaded_object; struct __gconv_trans_data; typedef int (*__gconv_fct) (struct __gconv_step *, struct __gconv_step_data *, __const unsigned char **, __const unsigned char *, unsigned char **, size_t *, int, int); typedef wint_t (*__gconv_btowc_fct) (struct __gconv_step *, unsigned char); typedef int (*__gconv_init_fct) (struct __gconv_step *); typedef void (*__gconv_end_fct) (struct __gconv_step *); typedef int (*__gconv_trans_fct) (struct __gconv_step *, struct __gconv_step_data *, void *, __const unsigned char *, __const unsigned char **, __const unsigned char *, unsigned char **, size_t *); typedef int (*__gconv_trans_context_fct) (void *, __const unsigned char *, __const unsigned char *, unsigned char *, unsigned char *); typedef int (*__gconv_trans_query_fct) (__const char *, __const char ***, size_t *); typedef int (*__gconv_trans_init_fct) (void **, const char *); typedef void (*__gconv_trans_end_fct) (void *); struct __gconv_trans_data { __gconv_trans_fct __trans_fct; __gconv_trans_context_fct __trans_context_fct; __gconv_trans_end_fct __trans_end_fct; void *__data; struct __gconv_trans_data *__next; }; struct __gconv_step { struct __gconv_loaded_object *__shlib_handle; __const char *__modname; int __counter; char *__from_name; char *__to_name; __gconv_fct __fct; __gconv_btowc_fct __btowc_fct; __gconv_init_fct __init_fct; __gconv_end_fct __end_fct; int __min_needed_from; int __max_needed_from; int __min_needed_to; int __max_needed_to; int __stateful; void *__data; }; struct __gconv_step_data { unsigned char *__outbuf; unsigned char *__outbufend; int __flags; int __invocation_counter; int __internal_use; __mbstate_t *__statep; __mbstate_t __state; struct __gconv_trans_data *__trans; }; typedef struct __gconv_info { size_t __nsteps; struct __gconv_step *__steps; __extension__ struct __gconv_step_data __data []; } *__gconv_t; # 45 "/usr/include/_G_config.h" 2 3 4 typedef union { struct __gconv_info __cd; struct { struct __gconv_info __cd; struct __gconv_step_data __data; } __combined; } _G_iconv_t; typedef int _G_int16_t __attribute__ ((__mode__ (__HI__))); typedef int _G_int32_t __attribute__ ((__mode__ (__SI__))); typedef unsigned int _G_uint16_t __attribute__ ((__mode__ (__HI__))); typedef unsigned int _G_uint32_t __attribute__ ((__mode__ (__SI__))); # 33 "/usr/include/libio.h" 2 3 4 # 53 "/usr/include/libio.h" 3 4 # 1 "/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.1/include/stdarg.h" 1 3 4 # 43 "/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.1/include/stdarg.h" 3 4 typedef __builtin_va_list __gnuc_va_list; # 54 "/usr/include/libio.h" 2 3 4 # 163 "/usr/include/libio.h" 3 4 struct _IO_jump_t; struct _IO_FILE; # 173 "/usr/include/libio.h" 3 4 typedef void _IO_lock_t; struct _IO_marker { struct _IO_marker *_next; struct _IO_FILE *_sbuf; int _pos; # 196 "/usr/include/libio.h" 3 4 }; enum __codecvt_result { __codecvt_ok, __codecvt_partial, __codecvt_error, __codecvt_noconv }; # 264 "/usr/include/libio.h" 3 4 struct _IO_FILE { int _flags; char* _IO_read_ptr; char* _IO_read_end; char* _IO_read_base; char* _IO_write_base; char* _IO_write_ptr; char* _IO_write_end; char* _IO_buf_base; char* _IO_buf_end; char *_IO_save_base; char *_IO_backup_base; char *_IO_save_end; struct _IO_marker *_markers; struct _IO_FILE *_chain; int _fileno; int _flags2; __off_t _old_offset; unsigned short _cur_column; signed char _vtable_offset; char _shortbuf[1]; _IO_lock_t *_lock; # 312 "/usr/include/libio.h" 3 4 __off64_t _offset; void *__pad1; void *__pad2; int _mode; char _unused2[15 * sizeof (int) - 2 * sizeof (void *)]; }; typedef struct _IO_FILE _IO_FILE; struct _IO_FILE_plus; extern struct _IO_FILE_plus _IO_2_1_stdin_; extern struct _IO_FILE_plus _IO_2_1_stdout_; extern struct _IO_FILE_plus _IO_2_1_stderr_; # 351 "/usr/include/libio.h" 3 4 typedef __ssize_t __io_read_fn (void *__cookie, char *__buf, size_t __nbytes); typedef __ssize_t __io_write_fn (void *__cookie, __const char *__buf, size_t __n); typedef int __io_seek_fn (void *__cookie, __off64_t *__pos, int __w); typedef int __io_close_fn (void *__cookie); typedef __io_read_fn cookie_read_function_t; typedef __io_write_fn cookie_write_function_t; typedef __io_seek_fn cookie_seek_function_t; typedef __io_close_fn cookie_close_function_t; typedef struct { __io_read_fn *read; __io_write_fn *write; __io_seek_fn *seek; __io_close_fn *close; } _IO_cookie_io_functions_t; typedef _IO_cookie_io_functions_t cookie_io_functions_t; struct _IO_cookie_file; extern void _IO_cookie_init (struct _IO_cookie_file *__cfile, int __read_write, void *__cookie, _IO_cookie_io_functions_t __fns); extern int __underflow (_IO_FILE *) ; extern int __uflow (_IO_FILE *) ; extern int __overflow (_IO_FILE *, int) ; extern wint_t __wunderflow (_IO_FILE *) ; extern wint_t __wuflow (_IO_FILE *) ; extern wint_t __woverflow (_IO_FILE *, wint_t) ; # 433 "/usr/include/libio.h" 3 4 extern int _IO_getc (_IO_FILE *__fp) ; extern int _IO_putc (int __c, _IO_FILE *__fp) ; extern int _IO_feof (_IO_FILE *__fp) ; extern int _IO_ferror (_IO_FILE *__fp) ; extern int _IO_peekc_locked (_IO_FILE *__fp) ; extern void _IO_flockfile (_IO_FILE *) ; extern void _IO_funlockfile (_IO_FILE *) ; extern int _IO_ftrylockfile (_IO_FILE *) ; # 463 "/usr/include/libio.h" 3 4 extern int _IO_vfscanf (_IO_FILE * __restrict, const char * __restrict, __gnuc_va_list, int *__restrict) ; extern int _IO_vfprintf (_IO_FILE *__restrict, const char *__restrict, __gnuc_va_list) ; extern __ssize_t _IO_padn (_IO_FILE *, int, __ssize_t) ; extern size_t _IO_sgetn (_IO_FILE *, void *, size_t) ; extern __off64_t _IO_seekoff (_IO_FILE *, __off64_t, int, int) ; extern __off64_t _IO_seekpos (_IO_FILE *, __off64_t, int) ; extern void _IO_free_backup_area (_IO_FILE *) ; # 73 "/usr/include/stdio.h" 2 3 4 typedef __gnuc_va_list va_list; # 86 "/usr/include/stdio.h" 3 4 typedef _G_fpos64_t fpos_t; typedef _G_fpos64_t fpos64_t; # 138 "/usr/include/stdio.h" 3 4 # 1 "/usr/include/bits/stdio_lim.h" 1 3 4 # 139 "/usr/include/stdio.h" 2 3 4 extern struct _IO_FILE *stdin; extern struct _IO_FILE *stdout; extern struct _IO_FILE *stderr; extern int remove (__const char *__filename) ; extern int rename (__const char *__old, __const char *__new) ; # 167 "/usr/include/stdio.h" 3 4 extern FILE *tmpfile (void) __asm__ ("" "tmpfile64"); extern FILE *tmpfile64 (void); extern char *tmpnam (char *__s) ; extern char *tmpnam_r (char *__s) ; # 196 "/usr/include/stdio.h" 3 4 extern char *tempnam (__const char *__dir, __const char *__pfx) __attribute__ ((__malloc__)); extern int fclose (FILE *__stream); extern int fflush (FILE *__stream); # 221 "/usr/include/stdio.h" 3 4 extern int fflush_unlocked (FILE *__stream); # 231 "/usr/include/stdio.h" 3 4 extern int fcloseall (void); # 252 "/usr/include/stdio.h" 3 4 extern FILE *fopen (__const char *__restrict __filename, __const char *__restrict __modes) __asm__ ("" "fopen64"); extern FILE *freopen (__const char *__restrict __filename, __const char *__restrict __modes, FILE *__restrict __stream) __asm__ ("" "freopen64"); extern FILE *fopen64 (__const char *__restrict __filename, __const char *__restrict __modes); extern FILE *freopen64 (__const char *__restrict __filename, __const char *__restrict __modes, FILE *__restrict __stream); extern FILE *fdopen (int __fd, __const char *__modes) ; extern FILE *fopencookie (void *__restrict __magic_cookie, __const char *__restrict __modes, _IO_cookie_io_functions_t __io_funcs) ; extern FILE *fmemopen (void *__s, size_t __len, __const char *__modes) ; extern FILE *open_memstream (char **__restrict __bufloc, size_t *__restrict __sizeloc) ; extern void setbuf (FILE *__restrict __stream, char *__restrict __buf) ; extern int setvbuf (FILE *__restrict __stream, char *__restrict __buf, int __modes, size_t __n) ; extern void setbuffer (FILE *__restrict __stream, char *__restrict __buf, size_t __size) ; extern void setlinebuf (FILE *__stream) ; extern int fprintf (FILE *__restrict __stream, __const char *__restrict __format, ...); extern int printf (__const char *__restrict __format, ...); extern int sprintf (char *__restrict __s, __const char *__restrict __format, ...) ; extern int vfprintf (FILE *__restrict __s, __const char *__restrict __format, __gnuc_va_list __arg); extern int vprintf (__const char *__restrict __format, __gnuc_va_list __arg); extern int vsprintf (char *__restrict __s, __const char *__restrict __format, __gnuc_va_list __arg) ; extern int snprintf (char *__restrict __s, size_t __maxlen, __const char *__restrict __format, ...) __attribute__ ((__format__ (__printf__, 3, 4))); extern int vsnprintf (char *__restrict __s, size_t __maxlen, __const char *__restrict __format, __gnuc_va_list __arg) __attribute__ ((__format__ (__printf__, 3, 0))); extern int vasprintf (char **__restrict __ptr, __const char *__restrict __f, __gnuc_va_list __arg) __attribute__ ((__format__ (__printf__, 2, 0))); extern int __asprintf (char **__restrict __ptr, __const char *__restrict __fmt, ...) __attribute__ ((__format__ (__printf__, 2, 3))); extern int asprintf (char **__restrict __ptr, __const char *__restrict __fmt, ...) __attribute__ ((__format__ (__printf__, 2, 3))); extern int vdprintf (int __fd, __const char *__restrict __fmt, __gnuc_va_list __arg) __attribute__ ((__format__ (__printf__, 2, 0))); extern int dprintf (int __fd, __const char *__restrict __fmt, ...) __attribute__ ((__format__ (__printf__, 2, 3))); extern int fscanf (FILE *__restrict __stream, __const char *__restrict __format, ...); extern int scanf (__const char *__restrict __format, ...); extern int sscanf (__const char *__restrict __s, __const char *__restrict __format, ...) ; extern int vfscanf (FILE *__restrict __s, __const char *__restrict __format, __gnuc_va_list __arg) __attribute__ ((__format__ (__scanf__, 2, 0))); extern int vscanf (__const char *__restrict __format, __gnuc_va_list __arg) __attribute__ ((__format__ (__scanf__, 1, 0))); extern int vsscanf (__const char *__restrict __s, __const char *__restrict __format, __gnuc_va_list __arg) __attribute__ ((__format__ (__scanf__, 2, 0))); extern int fgetc (FILE *__stream); extern int getc (FILE *__stream); extern int getchar (void); # 454 "/usr/include/stdio.h" 3 4 extern int getc_unlocked (FILE *__stream); extern int getchar_unlocked (void); # 465 "/usr/include/stdio.h" 3 4 extern int fgetc_unlocked (FILE *__stream); extern int fputc (int __c, FILE *__stream); extern int putc (int __c, FILE *__stream); extern int putchar (int __c); # 498 "/usr/include/stdio.h" 3 4 extern int fputc_unlocked (int __c, FILE *__stream); extern int putc_unlocked (int __c, FILE *__stream); extern int putchar_unlocked (int __c); extern int getw (FILE *__stream); extern int putw (int __w, FILE *__stream); extern char *fgets (char *__restrict __s, int __n, FILE *__restrict __stream); extern char *gets (char *__s); # 543 "/usr/include/stdio.h" 3 4 extern char *fgets_unlocked (char *__restrict __s, int __n, FILE *__restrict __stream); # 559 "/usr/include/stdio.h" 3 4 extern __ssize_t __getdelim (char **__restrict __lineptr, size_t *__restrict __n, int __delimiter, FILE *__restrict __stream); extern __ssize_t getdelim (char **__restrict __lineptr, size_t *__restrict __n, int __delimiter, FILE *__restrict __stream); extern __ssize_t getline (char **__restrict __lineptr, size_t *__restrict __n, FILE *__restrict __stream); extern int fputs (__const char *__restrict __s, FILE *__restrict __stream); extern int puts (__const char *__s); extern int ungetc (int __c, FILE *__stream); extern size_t fread (void *__restrict __ptr, size_t __size, size_t __n, FILE *__restrict __stream); extern size_t fwrite (__const void *__restrict __ptr, size_t __size, size_t __n, FILE *__restrict __s); # 620 "/usr/include/stdio.h" 3 4 extern int fputs_unlocked (__const char *__restrict __s, FILE *__restrict __stream); # 631 "/usr/include/stdio.h" 3 4 extern size_t fread_unlocked (void *__restrict __ptr, size_t __size, size_t __n, FILE *__restrict __stream); extern size_t fwrite_unlocked (__const void *__restrict __ptr, size_t __size, size_t __n, FILE *__restrict __stream); extern int fseek (FILE *__stream, long int __off, int __whence); extern long int ftell (FILE *__stream); extern void rewind (FILE *__stream); # 675 "/usr/include/stdio.h" 3 4 extern int fseeko (FILE *__stream, __off64_t __off, int __whence) __asm__ ("" "fseeko64"); extern __off64_t ftello (FILE *__stream) __asm__ ("" "ftello64"); # 700 "/usr/include/stdio.h" 3 4 extern int fgetpos (FILE *__restrict __stream, fpos_t *__restrict __pos) __asm__ ("" "fgetpos64"); extern int fsetpos (FILE *__stream, __const fpos_t *__pos) __asm__ ("" "fsetpos64"); extern int fseeko64 (FILE *__stream, __off64_t __off, int __whence); extern __off64_t ftello64 (FILE *__stream); extern int fgetpos64 (FILE *__restrict __stream, fpos64_t *__restrict __pos); extern int fsetpos64 (FILE *__stream, __const fpos64_t *__pos); extern void clearerr (FILE *__stream) ; extern int feof (FILE *__stream) ; extern int ferror (FILE *__stream) ; extern void clearerr_unlocked (FILE *__stream) ; extern int feof_unlocked (FILE *__stream) ; extern int ferror_unlocked (FILE *__stream) ; extern void perror (__const char *__s); # 1 "/usr/include/bits/sys_errlist.h" 1 3 4 # 27 "/usr/include/bits/sys_errlist.h" 3 4 extern int sys_nerr; extern __const char *__const sys_errlist[]; extern int _sys_nerr; extern __const char *__const _sys_errlist[]; # 748 "/usr/include/stdio.h" 2 3 4 extern int fileno (FILE *__stream) ; extern int fileno_unlocked (FILE *__stream) ; # 767 "/usr/include/stdio.h" 3 4 extern FILE *popen (__const char *__command, __const char *__modes); extern int pclose (FILE *__stream); extern char *ctermid (char *__s) ; extern char *cuserid (char *__s); struct obstack; extern int obstack_printf (struct obstack *__restrict __obstack, __const char *__restrict __format, ...) __attribute__ ((__format__ (__printf__, 2, 3))); extern int obstack_vprintf (struct obstack *__restrict __obstack, __const char *__restrict __format, __gnuc_va_list __args) __attribute__ ((__format__ (__printf__, 2, 0))); extern void flockfile (FILE *__stream) ; extern int ftrylockfile (FILE *__stream) ; extern void funlockfile (FILE *__stream) ; # 831 "/usr/include/stdio.h" 3 4 # 107 "include/includes.h" 2 # 1 "/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.1/include/stddef.h" 1 3 4 # 151 "/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.1/include/stddef.h" 3 4 typedef int ptrdiff_t; # 108 "include/includes.h" 2 # 1 "/usr/include/sys/param.h" 1 3 4 # 22 "/usr/include/sys/param.h" 3 4 # 1 "/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.1/include/limits.h" 1 3 4 # 11 "/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.1/include/limits.h" 3 4 # 1 "/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.1/include/syslimits.h" 1 3 4 # 1 "/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.1/include/limits.h" 1 3 4 # 122 "/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.1/include/limits.h" 3 4 # 1 "/usr/include/limits.h" 1 3 4 # 144 "/usr/include/limits.h" 3 4 # 1 "/usr/include/bits/posix1_lim.h" 1 3 4 # 130 "/usr/include/bits/posix1_lim.h" 3 4 # 1 "/usr/include/bits/local_lim.h" 1 3 4 # 36 "/usr/include/bits/local_lim.h" 3 4 # 1 "/usr/include/linux/limits.h" 1 3 4 # 37 "/usr/include/bits/local_lim.h" 2 3 4 # 131 "/usr/include/bits/posix1_lim.h" 2 3 4 # 145 "/usr/include/limits.h" 2 3 4 # 1 "/usr/include/bits/posix2_lim.h" 1 3 4 # 149 "/usr/include/limits.h" 2 3 4 # 1 "/usr/include/bits/xopen_lim.h" 1 3 4 # 34 "/usr/include/bits/xopen_lim.h" 3 4 # 1 "/usr/include/bits/stdio_lim.h" 1 3 4 # 35 "/usr/include/bits/xopen_lim.h" 2 3 4 # 153 "/usr/include/limits.h" 2 3 4 # 123 "/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.1/include/limits.h" 2 3 4 # 8 "/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.1/include/syslimits.h" 2 3 4 # 12 "/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.1/include/limits.h" 2 3 4 # 23 "/usr/include/sys/param.h" 2 3 4 # 1 "/usr/include/linux/param.h" 1 3 4 # 1 "/usr/include/asm/param.h" 1 3 4 # 5 "/usr/include/linux/param.h" 2 3 4 # 25 "/usr/include/sys/param.h" 2 3 4 # 111 "include/includes.h" 2 # 1 "/usr/include/stdlib.h" 1 3 4 # 33 "/usr/include/stdlib.h" 3 4 # 1 "/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.1/include/stddef.h" 1 3 4 # 34 "/usr/include/stdlib.h" 2 3 4 # 1 "/usr/include/bits/waitflags.h" 1 3 4 # 43 "/usr/include/stdlib.h" 2 3 4 # 1 "/usr/include/bits/waitstatus.h" 1 3 4 # 65 "/usr/include/bits/waitstatus.h" 3 4 union wait { int w_status; struct { unsigned int __w_termsig:7; unsigned int __w_coredump:1; unsigned int __w_retcode:8; unsigned int:16; } __wait_terminated; struct { unsigned int __w_stopval:8; unsigned int __w_stopsig:8; unsigned int:16; } __wait_stopped; }; # 44 "/usr/include/stdlib.h" 2 3 4 # 68 "/usr/include/stdlib.h" 3 4 typedef union { union wait *__uptr; int *__iptr; } __WAIT_STATUS __attribute__ ((__transparent_union__)); # 93 "/usr/include/stdlib.h" 3 4 typedef struct { int quot; int rem; } div_t; typedef struct { long int quot; long int rem; } ldiv_t; __extension__ typedef struct { long long int quot; long long int rem; } lldiv_t; # 137 "/usr/include/stdlib.h" 3 4 extern size_t __ctype_get_mb_cur_max (void) ; extern double atof (__const char *__nptr) __attribute__ ((__pure__)); extern int atoi (__const char *__nptr) __attribute__ ((__pure__)); extern long int atol (__const char *__nptr) __attribute__ ((__pure__)); __extension__ extern long long int atoll (__const char *__nptr) __attribute__ ((__pure__)); extern double strtod (__const char *__restrict __nptr, char **__restrict __endptr) ; extern float strtof (__const char *__restrict __nptr, char **__restrict __endptr) ; extern long double strtold (__const char *__restrict __nptr, char **__restrict __endptr) ; extern long int strtol (__const char *__restrict __nptr, char **__restrict __endptr, int __base) ; extern unsigned long int strtoul (__const char *__restrict __nptr, char **__restrict __endptr, int __base) ; __extension__ extern long long int strtoq (__const char *__restrict __nptr, char **__restrict __endptr, int __base) ; __extension__ extern unsigned long long int strtouq (__const char *__restrict __nptr, char **__restrict __endptr, int __base) ; __extension__ extern long long int strtoll (__const char *__restrict __nptr, char **__restrict __endptr, int __base) ; __extension__ extern unsigned long long int strtoull (__const char *__restrict __nptr, char **__restrict __endptr, int __base) ; # 229 "/usr/include/stdlib.h" 3 4 extern long int strtol_l (__const char *__restrict __nptr, char **__restrict __endptr, int __base, __locale_t __loc) ; extern unsigned long int strtoul_l (__const char *__restrict __nptr, char **__restrict __endptr, int __base, __locale_t __loc) ; __extension__ extern long long int strtoll_l (__const char *__restrict __nptr, char **__restrict __endptr, int __base, __locale_t __loc) ; __extension__ extern unsigned long long int strtoull_l (__const char *__restrict __nptr, char **__restrict __endptr, int __base, __locale_t __loc) ; extern double strtod_l (__const char *__restrict __nptr, char **__restrict __endptr, __locale_t __loc) ; extern float strtof_l (__const char *__restrict __nptr, char **__restrict __endptr, __locale_t __loc) ; extern long double strtold_l (__const char *__restrict __nptr, char **__restrict __endptr, __locale_t __loc) ; extern double __strtod_internal (__const char *__restrict __nptr, char **__restrict __endptr, int __group) ; extern float __strtof_internal (__const char *__restrict __nptr, char **__restrict __endptr, int __group) ; extern long double __strtold_internal (__const char *__restrict __nptr, char **__restrict __endptr, int __group) ; extern long int __strtol_internal (__const char *__restrict __nptr, char **__restrict __endptr, int __base, int __group) ; extern unsigned long int __strtoul_internal (__const char *__restrict __nptr, char **__restrict __endptr, int __base, int __group) ; __extension__ extern long long int __strtoll_internal (__const char *__restrict __nptr, char **__restrict __endptr, int __base, int __group) ; __extension__ extern unsigned long long int __strtoull_internal (__const char * __restrict __nptr, char **__restrict __endptr, int __base, int __group) ; # 408 "/usr/include/stdlib.h" 3 4 extern char *l64a (long int __n) ; extern long int a64l (__const char *__s) __attribute__ ((__pure__)); # 423 "/usr/include/stdlib.h" 3 4 extern long int random (void) ; extern void srandom (unsigned int __seed) ; extern char *initstate (unsigned int __seed, char *__statebuf, size_t __statelen) ; extern char *setstate (char *__statebuf) ; struct random_data { int32_t *fptr; int32_t *rptr; int32_t *state; int rand_type; int rand_deg; int rand_sep; int32_t *end_ptr; }; extern int random_r (struct random_data *__restrict __buf, int32_t *__restrict __result) ; extern int srandom_r (unsigned int __seed, struct random_data *__buf) ; extern int initstate_r (unsigned int __seed, char *__restrict __statebuf, size_t __statelen, struct random_data *__restrict __buf) ; extern int setstate_r (char *__restrict __statebuf, struct random_data *__restrict __buf) ; extern int rand (void) ; extern void srand (unsigned int __seed) ; extern int rand_r (unsigned int *__seed) ; extern double drand48 (void) ; extern double erand48 (unsigned short int __xsubi[3]) ; extern long int lrand48 (void) ; extern long int nrand48 (unsigned short int __xsubi[3]) ; extern long int mrand48 (void) ; extern long int jrand48 (unsigned short int __xsubi[3]) ; extern void srand48 (long int __seedval) ; extern unsigned short int *seed48 (unsigned short int __seed16v[3]) ; extern void lcong48 (unsigned short int __param[7]) ; struct drand48_data { unsigned short int __x[3]; unsigned short int __old_x[3]; unsigned short int __c; unsigned short int __init; unsigned long long int __a; }; extern int drand48_r (struct drand48_data *__restrict __buffer, double *__restrict __result) ; extern int erand48_r (unsigned short int __xsubi[3], struct drand48_data *__restrict __buffer, double *__restrict __result) ; extern int lrand48_r (struct drand48_data *__restrict __buffer, long int *__restrict __result) ; extern int nrand48_r (unsigned short int __xsubi[3], struct drand48_data *__restrict __buffer, long int *__restrict __result) ; extern int mrand48_r (struct drand48_data *__restrict __buffer, long int *__restrict __result) ; extern int jrand48_r (unsigned short int __xsubi[3], struct drand48_data *__restrict __buffer, long int *__restrict __result) ; extern int srand48_r (long int __seedval, struct drand48_data *__buffer) ; extern int seed48_r (unsigned short int __seed16v[3], struct drand48_data *__buffer) ; extern int lcong48_r (unsigned short int __param[7], struct drand48_data *__buffer) ; extern void *malloc (size_t __size) __attribute__ ((__malloc__)); extern void *calloc (size_t __nmemb, size_t __size) __attribute__ ((__malloc__)); extern void *realloc (void *__ptr, size_t __size) __attribute__ ((__malloc__)); extern void free (void *__ptr) ; extern void cfree (void *__ptr) ; # 1 "/usr/include/alloca.h" 1 3 4 # 25 "/usr/include/alloca.h" 3 4 # 1 "/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.1/include/stddef.h" 1 3 4 # 26 "/usr/include/alloca.h" 2 3 4 extern void *alloca (size_t __size) ; # 579 "/usr/include/stdlib.h" 2 3 4 extern void *valloc (size_t __size) __attribute__ ((__malloc__)); extern int posix_memalign (void **__memptr, size_t __alignment, size_t __size) __attribute__ ((__malloc__)); extern void abort (void) __attribute__ ((__noreturn__)); extern int atexit (void (*__func) (void)) ; extern int on_exit (void (*__func) (int __status, void *__arg), void *__arg) ; extern void exit (int __status) __attribute__ ((__noreturn__)); extern void _Exit (int __status) __attribute__ ((__noreturn__)); extern char *getenv (__const char *__name) ; extern char *__secure_getenv (__const char *__name) ; extern int putenv (char *__string) ; extern int setenv (__const char *__name, __const char *__value, int __replace) ; extern int unsetenv (__const char *__name) ; extern int clearenv (void) ; # 663 "/usr/include/stdlib.h" 3 4 extern char *mktemp (char *__template) ; # 677 "/usr/include/stdlib.h" 3 4 extern int mkstemp (char *__template) __asm__ ("" "mkstemp64"); extern int mkstemp64 (char *__template); # 693 "/usr/include/stdlib.h" 3 4 extern char *mkdtemp (char *__template) ; extern int system (__const char *__command); extern char *canonicalize_file_name (__const char *__name) ; # 720 "/usr/include/stdlib.h" 3 4 extern char *realpath (__const char *__restrict __name, char *__restrict __resolved) ; typedef int (*__compar_fn_t) (__const void *, __const void *); typedef __compar_fn_t comparison_fn_t; extern void *bsearch (__const void *__key, __const void *__base, size_t __nmemb, size_t __size, __compar_fn_t __compar); extern void qsort (void *__base, size_t __nmemb, size_t __size, __compar_fn_t __compar); extern int abs (int __x) __attribute__ ((__const__)); extern long int labs (long int __x) __attribute__ ((__const__)); __extension__ extern long long int llabs (long long int __x) __attribute__ ((__const__)); extern div_t div (int __numer, int __denom) __attribute__ ((__const__)); extern ldiv_t ldiv (long int __numer, long int __denom) __attribute__ ((__const__)); __extension__ extern lldiv_t lldiv (long long int __numer, long long int __denom) __attribute__ ((__const__)); # 784 "/usr/include/stdlib.h" 3 4 extern char *ecvt (double __value, int __ndigit, int *__restrict __decpt, int *__restrict __sign) ; extern char *fcvt (double __value, int __ndigit, int *__restrict __decpt, int *__restrict __sign) ; extern char *gcvt (double __value, int __ndigit, char *__buf) ; extern char *qecvt (long double __value, int __ndigit, int *__restrict __decpt, int *__restrict __sign) ; extern char *qfcvt (long double __value, int __ndigit, int *__restrict __decpt, int *__restrict __sign) ; extern char *qgcvt (long double __value, int __ndigit, char *__buf) ; extern int ecvt_r (double __value, int __ndigit, int *__restrict __decpt, int *__restrict __sign, char *__restrict __buf, size_t __len) ; extern int fcvt_r (double __value, int __ndigit, int *__restrict __decpt, int *__restrict __sign, char *__restrict __buf, size_t __len) ; extern int qecvt_r (long double __value, int __ndigit, int *__restrict __decpt, int *__restrict __sign, char *__restrict __buf, size_t __len) ; extern int qfcvt_r (long double __value, int __ndigit, int *__restrict __decpt, int *__restrict __sign, char *__restrict __buf, size_t __len) ; extern int mblen (__const char *__s, size_t __n) ; extern int mbtowc (wchar_t *__restrict __pwc, __const char *__restrict __s, size_t __n) ; extern int wctomb (char *__s, wchar_t __wchar) ; extern size_t mbstowcs (wchar_t *__restrict __pwcs, __const char *__restrict __s, size_t __n) ; extern size_t wcstombs (char *__restrict __s, __const wchar_t *__restrict __pwcs, size_t __n) ; extern int rpmatch (__const char *__response) ; # 866 "/usr/include/stdlib.h" 3 4 extern int getsubopt (char **__restrict __optionp, char *__const *__restrict __tokens, char **__restrict __valuep) ; extern void setkey (__const char *__key) ; extern int posix_openpt (int __oflag); extern int grantpt (int __fd) ; extern int unlockpt (int __fd) ; extern char *ptsname (int __fd) ; extern int ptsname_r (int __fd, char *__buf, size_t __buflen) ; extern int getpt (void); extern int getloadavg (double __loadavg[], int __nelem) ; # 115 "include/includes.h" 2 # 1 "/usr/include/sys/socket.h" 1 3 4 # 25 "/usr/include/sys/socket.h" 3 4 # 1 "/usr/include/sys/uio.h" 1 3 4 # 26 "/usr/include/sys/uio.h" 3 4 # 1 "/usr/include/bits/uio.h" 1 3 4 # 42 "/usr/include/bits/uio.h" 3 4 struct iovec { void *iov_base; size_t iov_len; }; # 30 "/usr/include/sys/uio.h" 2 3 4 # 40 "/usr/include/sys/uio.h" 3 4 extern ssize_t readv (int __fd, __const struct iovec *__vector, int __count); # 50 "/usr/include/sys/uio.h" 3 4 extern ssize_t writev (int __fd, __const struct iovec *__vector, int __count); # 28 "/usr/include/sys/socket.h" 2 3 4 # 1 "/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.1/include/stddef.h" 1 3 4 # 30 "/usr/include/sys/socket.h" 2 3 4 # 1 "/usr/include/bits/socket.h" 1 3 4 # 29 "/usr/include/bits/socket.h" 3 4 # 1 "/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.1/include/stddef.h" 1 3 4 # 30 "/usr/include/bits/socket.h" 2 3 4 # 1 "/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.1/include/limits.h" 1 3 4 # 32 "/usr/include/bits/socket.h" 2 3 4 # 41 "/usr/include/bits/socket.h" 3 4 enum __socket_type { SOCK_STREAM = 1, SOCK_DGRAM = 2, SOCK_RAW = 3, SOCK_RDM = 4, SOCK_SEQPACKET = 5, SOCK_PACKET = 10 }; # 142 "/usr/include/bits/socket.h" 3 4 # 1 "/usr/include/bits/sockaddr.h" 1 3 4 # 29 "/usr/include/bits/sockaddr.h" 3 4 typedef unsigned short int sa_family_t; # 143 "/usr/include/bits/socket.h" 2 3 4 struct sockaddr { sa_family_t sa_family; char sa_data[14]; }; # 162 "/usr/include/bits/socket.h" 3 4 struct sockaddr_storage { sa_family_t ss_family; __uint32_t __ss_align; char __ss_padding[(128 - (2 * sizeof (__uint32_t)))]; }; enum { MSG_OOB = 0x01, MSG_PEEK = 0x02, MSG_DONTROUTE = 0x04, MSG_TRYHARD = MSG_DONTROUTE, MSG_CTRUNC = 0x08, MSG_PROXY = 0x10, MSG_TRUNC = 0x20, MSG_DONTWAIT = 0x40, MSG_EOR = 0x80, MSG_WAITALL = 0x100, MSG_FIN = 0x200, MSG_SYN = 0x400, MSG_CONFIRM = 0x800, MSG_RST = 0x1000, MSG_ERRQUEUE = 0x2000, MSG_NOSIGNAL = 0x4000, MSG_MORE = 0x8000 }; struct msghdr { void *msg_name; socklen_t msg_namelen; struct iovec *msg_iov; size_t msg_iovlen; void *msg_control; size_t msg_controllen; int msg_flags; }; struct cmsghdr { size_t cmsg_len; int cmsg_level; int cmsg_type; __extension__ unsigned char __cmsg_data []; }; # 257 "/usr/include/bits/socket.h" 3 4 extern struct cmsghdr *__cmsg_nxthdr (struct msghdr *__mhdr, struct cmsghdr *__cmsg) ; # 284 "/usr/include/bits/socket.h" 3 4 enum { SCM_RIGHTS = 0x01, SCM_CREDENTIALS = 0x02, __SCM_CONNECT = 0x03 }; struct ucred { pid_t pid; uid_t uid; gid_t gid; }; # 1 "/usr/include/asm/socket.h" 1 3 4 # 1 "/usr/include/asm/sockios.h" 1 3 4 # 5 "/usr/include/asm/socket.h" 2 3 4 # 306 "/usr/include/bits/socket.h" 2 3 4 struct linger { int l_onoff; int l_linger; }; # 36 "/usr/include/sys/socket.h" 2 3 4 struct osockaddr { unsigned short int sa_family; unsigned char sa_data[14]; }; enum { SHUT_RD = 0, SHUT_WR, SHUT_RDWR }; # 87 "/usr/include/sys/socket.h" 3 4 typedef union { struct sockaddr *__restrict __sockaddr__; struct sockaddr_at *__restrict __sockaddr_at__; struct sockaddr_ax25 *__restrict __sockaddr_ax25__; struct sockaddr_dl *__restrict __sockaddr_dl__; struct sockaddr_eon *__restrict __sockaddr_eon__; struct sockaddr_in *__restrict __sockaddr_in__; struct sockaddr_in6 *__restrict __sockaddr_in6__; struct sockaddr_inarp *__restrict __sockaddr_inarp__; struct sockaddr_ipx *__restrict __sockaddr_ipx__; struct sockaddr_iso *__restrict __sockaddr_iso__; struct sockaddr_ns *__restrict __sockaddr_ns__; struct sockaddr_un *__restrict __sockaddr_un__; struct sockaddr_x25 *__restrict __sockaddr_x25__; } __SOCKADDR_ARG __attribute__ ((__transparent_union__)); typedef union { __const struct sockaddr *__restrict __sockaddr__; __const struct sockaddr_at *__restrict __sockaddr_at__; __const struct sockaddr_ax25 *__restrict __sockaddr_ax25__; __const struct sockaddr_dl *__restrict __sockaddr_dl__; __const struct sockaddr_eon *__restrict __sockaddr_eon__; __const struct sockaddr_in *__restrict __sockaddr_in__; __const struct sockaddr_in6 *__restrict __sockaddr_in6__; __const struct sockaddr_inarp *__restrict __sockaddr_inarp__; __const struct sockaddr_ipx *__restrict __sockaddr_ipx__; __const struct sockaddr_iso *__restrict __sockaddr_iso__; __const struct sockaddr_ns *__restrict __sockaddr_ns__; __const struct sockaddr_un *__restrict __sockaddr_un__; __const struct sockaddr_x25 *__restrict __sockaddr_x25__; } __CONST_SOCKADDR_ARG __attribute__ ((__transparent_union__)); extern int socket (int __domain, int __type, int __protocol) ; extern int socketpair (int __domain, int __type, int __protocol, int __fds[2]) ; extern int bind (int __fd, __CONST_SOCKADDR_ARG __addr, socklen_t __len) ; extern int getsockname (int __fd, __SOCKADDR_ARG __addr, socklen_t *__restrict __len) ; # 124 "/usr/include/sys/socket.h" 3 4 extern int connect (int __fd, __CONST_SOCKADDR_ARG __addr, socklen_t __len); extern int getpeername (int __fd, __SOCKADDR_ARG __addr, socklen_t *__restrict __len) ; extern ssize_t send (int __fd, __const void *__buf, size_t __n, int __flags); extern ssize_t recv (int __fd, void *__buf, size_t __n, int __flags); extern ssize_t sendto (int __fd, __const void *__buf, size_t __n, int __flags, __CONST_SOCKADDR_ARG __addr, socklen_t __addr_len); # 161 "/usr/include/sys/socket.h" 3 4 extern ssize_t recvfrom (int __fd, void *__restrict __buf, size_t __n, int __flags, __SOCKADDR_ARG __addr, socklen_t *__restrict __addr_len); extern ssize_t sendmsg (int __fd, __const struct msghdr *__message, int __flags); extern ssize_t recvmsg (int __fd, struct msghdr *__message, int __flags); extern int getsockopt (int __fd, int __level, int __optname, void *__restrict __optval, socklen_t *__restrict __optlen) ; extern int setsockopt (int __fd, int __level, int __optname, __const void *__optval, socklen_t __optlen) ; extern int listen (int __fd, int __n) ; # 209 "/usr/include/sys/socket.h" 3 4 extern int accept (int __fd, __SOCKADDR_ARG __addr, socklen_t *__restrict __addr_len); extern int shutdown (int __fd, int __how) ; extern int sockatmark (int __fd) ; extern int isfdtype (int __fd, int __fdtype) ; # 119 "include/includes.h" 2 # 1 "/usr/include/sys/un.h" 1 3 4 # 27 "/usr/include/sys/un.h" 3 4 struct sockaddr_un { sa_family_t sun_family; char sun_path[108]; }; # 1 "/usr/include/string.h" 1 3 4 # 28 "/usr/include/string.h" 3 4 # 1 "/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.1/include/stddef.h" 1 3 4 # 34 "/usr/include/string.h" 2 3 4 extern void *memcpy (void *__restrict __dest, __const void *__restrict __src, size_t __n) ; extern void *memmove (void *__dest, __const void *__src, size_t __n) ; extern void *memccpy (void *__restrict __dest, __const void *__restrict __src, int __c, size_t __n) ; extern void *memset (void *__s, int __c, size_t __n) ; extern int memcmp (__const void *__s1, __const void *__s2, size_t __n) __attribute__ ((__pure__)); extern void *memchr (__const void *__s, int __c, size_t __n) __attribute__ ((__pure__)); extern void *rawmemchr (__const void *__s, int __c) __attribute__ ((__pure__)); extern void *memrchr (__const void *__s, int __c, size_t __n) __attribute__ ((__pure__)); extern char *strcpy (char *__restrict __dest, __const char *__restrict __src) ; extern char *strncpy (char *__restrict __dest, __const char *__restrict __src, size_t __n) ; extern char *strcat (char *__restrict __dest, __const char *__restrict __src) ; extern char *strncat (char *__restrict __dest, __const char *__restrict __src, size_t __n) ; extern int strcmp (__const char *__s1, __const char *__s2) __attribute__ ((__pure__)); extern int strncmp (__const char *__s1, __const char *__s2, size_t __n) __attribute__ ((__pure__)); extern int strcoll (__const char *__s1, __const char *__s2) __attribute__ ((__pure__)); extern size_t strxfrm (char *__restrict __dest, __const char *__restrict __src, size_t __n) ; # 117 "/usr/include/string.h" 3 4 extern int strcoll_l (__const char *__s1, __const char *__s2, __locale_t __l) __attribute__ ((__pure__)); extern size_t strxfrm_l (char *__dest, __const char *__src, size_t __n, __locale_t __l) ; extern char *strdup (__const char *__s) __attribute__ ((__malloc__)); extern char *strndup (__const char *__string, size_t __n) __attribute__ ((__malloc__)); # 160 "/usr/include/string.h" 3 4 extern char *strchr (__const char *__s, int __c) __attribute__ ((__pure__)); extern char *strrchr (__const char *__s, int __c) __attribute__ ((__pure__)); extern char *strchrnul (__const char *__s, int __c) __attribute__ ((__pure__)); extern size_t strcspn (__const char *__s, __const char *__reject) __attribute__ ((__pure__)); extern size_t strspn (__const char *__s, __const char *__accept) __attribute__ ((__pure__)); extern char *strpbrk (__const char *__s, __const char *__accept) __attribute__ ((__pure__)); extern char *strstr (__const char *__haystack, __const char *__needle) __attribute__ ((__pure__)); extern char *strtok (char *__restrict __s, __const char *__restrict __delim) ; extern char *__strtok_r (char *__restrict __s, __const char *__restrict __delim, char **__restrict __save_ptr) ; extern char *strtok_r (char *__restrict __s, __const char *__restrict __delim, char **__restrict __save_ptr) ; extern char *strcasestr (__const char *__haystack, __const char *__needle) __attribute__ ((__pure__)); extern void *memmem (__const void *__haystack, size_t __haystacklen, __const void *__needle, size_t __needlelen) __attribute__ ((__pure__)); extern void *__mempcpy (void *__restrict __dest, __const void *__restrict __src, size_t __n) ; extern void *mempcpy (void *__restrict __dest, __const void *__restrict __src, size_t __n) ; extern size_t strlen (__const char *__s) __attribute__ ((__pure__)); extern size_t strnlen (__const char *__string, size_t __maxlen) __attribute__ ((__pure__)); extern char *strerror (int __errnum) ; extern char *strerror_r (int __errnum, char *__buf, size_t __buflen) ; extern void __bzero (void *__s, size_t __n) ; extern void bcopy (__const void *__src, void *__dest, size_t __n) ; extern void bzero (void *__s, size_t __n) ; extern int bcmp (__const void *__s1, __const void *__s2, size_t __n) __attribute__ ((__pure__)); extern char *index (__const char *__s, int __c) __attribute__ ((__pure__)); extern char *rindex (__const char *__s, int __c) __attribute__ ((__pure__)); extern int ffs (int __i) __attribute__ ((__const__)); extern int ffsl (long int __l) __attribute__ ((__const__)); __extension__ extern int ffsll (long long int __ll) __attribute__ ((__const__)); extern int strcasecmp (__const char *__s1, __const char *__s2) __attribute__ ((__pure__)); extern int strncasecmp (__const char *__s1, __const char *__s2, size_t __n) __attribute__ ((__pure__)); extern int strcasecmp_l (__const char *__s1, __const char *__s2, __locale_t __loc) __attribute__ ((__pure__)); extern int strncasecmp_l (__const char *__s1, __const char *__s2, size_t __n, __locale_t __loc) __attribute__ ((__pure__)); extern char *strsep (char **__restrict __stringp, __const char *__restrict __delim) ; extern int strverscmp (__const char *__s1, __const char *__s2) __attribute__ ((__pure__)); extern char *strsignal (int __sig) ; extern char *__stpcpy (char *__restrict __dest, __const char *__restrict __src) ; extern char *stpcpy (char *__restrict __dest, __const char *__restrict __src) ; extern char *__stpncpy (char *__restrict __dest, __const char *__restrict __src, size_t __n) ; extern char *stpncpy (char *__restrict __dest, __const char *__restrict __src, size_t __n) ; extern char *strfry (char *__string) ; extern void *memfrob (void *__s, size_t __n) ; extern char *basename (__const char *__filename) ; # 379 "/usr/include/string.h" 3 4 # 39 "/usr/include/sys/un.h" 2 3 4 # 123 "include/includes.h" 2 # 1 "/usr/include/sys/syscall.h" 1 3 4 # 25 "/usr/include/sys/syscall.h" 3 4 # 1 "/usr/include/asm/unistd.h" 1 3 4 # 26 "/usr/include/sys/syscall.h" 2 3 4 # 1 "/usr/include/bits/syscall.h" 1 3 4 # 33 "/usr/include/sys/syscall.h" 2 3 4 # 127 "include/includes.h" 2 # 136 "include/includes.h" # 1 "/usr/include/strings.h" 1 3 4 # 137 "include/includes.h" 2 # 1 "/usr/include/memory.h" 1 3 4 # 141 "include/includes.h" 2 # 1 "/usr/include/fcntl.h" 1 3 4 # 29 "/usr/include/fcntl.h" 3 4 # 1 "/usr/include/bits/fcntl.h" 1 3 4 # 136 "/usr/include/bits/fcntl.h" 3 4 struct flock { short int l_type; short int l_whence; __off64_t l_start; __off64_t l_len; __pid_t l_pid; }; struct flock64 { short int l_type; short int l_whence; __off64_t l_start; __off64_t l_len; __pid_t l_pid; }; # 34 "/usr/include/fcntl.h" 2 3 4 # 1 "/usr/include/sys/stat.h" 1 3 4 # 103 "/usr/include/sys/stat.h" 3 4 # 1 "/usr/include/bits/stat.h" 1 3 4 # 36 "/usr/include/bits/stat.h" 3 4 struct stat { __dev_t st_dev; unsigned short int __pad1; __ino_t __st_ino; __mode_t st_mode; __nlink_t st_nlink; __uid_t st_uid; __gid_t st_gid; __dev_t st_rdev; unsigned short int __pad2; __off64_t st_size; __blksize_t st_blksize; __blkcnt64_t st_blocks; # 70 "/usr/include/bits/stat.h" 3 4 struct timespec st_atim; struct timespec st_mtim; struct timespec st_ctim; # 88 "/usr/include/bits/stat.h" 3 4 __ino64_t st_ino; }; struct stat64 { __dev_t st_dev; unsigned int __pad1; __ino_t __st_ino; __mode_t st_mode; __nlink_t st_nlink; __uid_t st_uid; __gid_t st_gid; __dev_t st_rdev; unsigned int __pad2; __off64_t st_size; __blksize_t st_blksize; __blkcnt64_t st_blocks; struct timespec st_atim; struct timespec st_mtim; struct timespec st_ctim; # 127 "/usr/include/bits/stat.h" 3 4 __ino64_t st_ino; }; # 106 "/usr/include/sys/stat.h" 2 3 4 # 215 "/usr/include/sys/stat.h" 3 4 extern int stat (__const char *__restrict __file, struct stat *__restrict __buf) __asm__ ("" "stat64"); extern int fstat (int __fd, struct stat *__buf) __asm__ ("" "fstat64"); extern int stat64 (__const char *__restrict __file, struct stat64 *__restrict __buf) ; extern int fstat64 (int __fd, struct stat64 *__buf) ; # 239 "/usr/include/sys/stat.h" 3 4 extern int lstat (__const char *__restrict __file, struct stat *__restrict __buf) __asm__ ("" "lstat64"); # 248 "/usr/include/sys/stat.h" 3 4 extern int lstat64 (__const char *__restrict __file, struct stat64 *__restrict __buf) ; extern int chmod (__const char *__file, __mode_t __mode) ; extern int lchmod (__const char *__file, __mode_t __mode) ; extern int fchmod (int __fd, __mode_t __mode) ; extern __mode_t umask (__mode_t __mask) ; extern __mode_t getumask (void) ; extern int mkdir (__const char *__path, __mode_t __mode) ; extern int mknod (__const char *__path, __mode_t __mode, __dev_t __dev) ; extern int mkfifo (__const char *__path, __mode_t __mode) ; # 326 "/usr/include/sys/stat.h" 3 4 extern int __fxstat (int __ver, int __fildes, struct stat *__stat_buf) __asm__ ("" "__fxstat64"); extern int __xstat (int __ver, __const char *__filename, struct stat *__stat_buf) __asm__ ("" "__xstat64"); extern int __lxstat (int __ver, __const char *__filename, struct stat *__stat_buf) __asm__ ("" "__lxstat64"); # 343 "/usr/include/sys/stat.h" 3 4 extern int __fxstat64 (int __ver, int __fildes, struct stat64 *__stat_buf) ; extern int __xstat64 (int __ver, __const char *__filename, struct stat64 *__stat_buf) ; extern int __lxstat64 (int __ver, __const char *__filename, struct stat64 *__stat_buf) ; extern int __xmknod (int __ver, __const char *__path, __mode_t __mode, __dev_t *__dev) ; extern __inline__ int stat (__const char *__path, struct stat *__statbuf) { return __xstat (3, __path, __statbuf); } extern __inline__ int lstat (__const char *__path, struct stat *__statbuf) { return __lxstat (3, __path, __statbuf); } extern __inline__ int fstat (int __fd, struct stat *__statbuf) { return __fxstat (3, __fd, __statbuf); } extern __inline__ int mknod (__const char *__path, __mode_t __mode, __dev_t __dev) { return __xmknod (1, __path, __mode, &__dev); } extern __inline__ int stat64 (__const char *__path, struct stat64 *__statbuf) { return __xstat64 (3, __path, __statbuf); } extern __inline__ int lstat64 (__const char *__path, struct stat64 *__statbuf) { return __lxstat64 (3, __path, __statbuf); } extern __inline__ int fstat64 (int __fd, struct stat64 *__statbuf) { return __fxstat64 (3, __fd, __statbuf); } # 38 "/usr/include/fcntl.h" 2 3 4 # 63 "/usr/include/fcntl.h" 3 4 extern int fcntl (int __fd, int __cmd, ...); # 75 "/usr/include/fcntl.h" 3 4 extern int open (__const char *__file, int __oflag, ...) __asm__ ("" "open64"); extern int open64 (__const char *__file, int __oflag, ...); # 93 "/usr/include/fcntl.h" 3 4 extern int creat (__const char *__file, __mode_t __mode) __asm__ ("" "creat64"); extern int creat64 (__const char *__file, __mode_t __mode); # 140 "/usr/include/fcntl.h" 3 4 extern int posix_fadvise (int __fd, __off64_t __offset, __off64_t __len, int __advise) __asm__ ("" "posix_fadvise64"); extern int posix_fadvise64 (int __fd, __off64_t __offset, __off64_t __len, int __advise) ; # 161 "/usr/include/fcntl.h" 3 4 extern int posix_fallocate (int __fd, __off64_t __offset, __off64_t __len) __asm__ ("" "posix_fallocate64"); extern int posix_fallocate64 (int __fd, __off64_t __offset, __off64_t __len); # 149 "include/includes.h" 2 # 158 "include/includes.h" # 1 "/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.1/include/limits.h" 1 3 4 # 159 "include/includes.h" 2 # 1 "/usr/include/sys/ioctl.h" 1 3 4 # 24 "/usr/include/sys/ioctl.h" 3 4 # 1 "/usr/include/bits/ioctls.h" 1 3 4 # 24 "/usr/include/bits/ioctls.h" 3 4 # 1 "/usr/include/asm/ioctls.h" 1 3 4 # 1 "/usr/include/asm/ioctl.h" 1 3 4 # 5 "/usr/include/asm/ioctls.h" 2 3 4 # 25 "/usr/include/bits/ioctls.h" 2 3 4 # 28 "/usr/include/sys/ioctl.h" 2 3 4 # 1 "/usr/include/bits/ioctl-types.h" 1 3 4 # 28 "/usr/include/bits/ioctl-types.h" 3 4 struct winsize { unsigned short int ws_row; unsigned short int ws_col; unsigned short int ws_xpixel; unsigned short int ws_ypixel; }; struct termio { unsigned short int c_iflag; unsigned short int c_oflag; unsigned short int c_cflag; unsigned short int c_lflag; unsigned char c_line; unsigned char c_cc[8]; }; # 31 "/usr/include/sys/ioctl.h" 2 3 4 # 1 "/usr/include/sys/ttydefaults.h" 1 3 4 # 38 "/usr/include/sys/ioctl.h" 2 3 4 extern int ioctl (int __fd, unsigned long int __request, ...) ; # 163 "include/includes.h" 2 # 1 "/usr/include/signal.h" 1 3 4 # 31 "/usr/include/signal.h" 3 4 # 1 "/usr/include/bits/sigset.h" 1 3 4 # 103 "/usr/include/bits/sigset.h" 3 4 extern int __sigismember (__const __sigset_t *, int); extern int __sigaddset (__sigset_t *, int); extern int __sigdelset (__sigset_t *, int); # 34 "/usr/include/signal.h" 2 3 4 typedef __sig_atomic_t sig_atomic_t; # 58 "/usr/include/signal.h" 3 4 # 1 "/usr/include/bits/signum.h" 1 3 4 # 59 "/usr/include/signal.h" 2 3 4 # 73 "/usr/include/signal.h" 3 4 typedef void (*__sighandler_t) (int); extern __sighandler_t __sysv_signal (int __sig, __sighandler_t __handler) ; extern __sighandler_t sysv_signal (int __sig, __sighandler_t __handler) ; extern __sighandler_t signal (int __sig, __sighandler_t __handler) ; # 102 "/usr/include/signal.h" 3 4 extern __sighandler_t bsd_signal (int __sig, __sighandler_t __handler) ; extern int kill (__pid_t __pid, int __sig) ; extern int killpg (__pid_t __pgrp, int __sig) ; extern int raise (int __sig) ; extern __sighandler_t ssignal (int __sig, __sighandler_t __handler) ; extern int gsignal (int __sig) ; extern void psignal (int __sig, __const char *__s); # 149 "/usr/include/signal.h" 3 4 extern int __sigpause (int __sig_or_mask, int __is_sig); extern int sigpause (int __mask) ; # 177 "/usr/include/signal.h" 3 4 extern int sigblock (int __mask) ; extern int sigsetmask (int __mask) ; extern int siggetmask (void) ; # 192 "/usr/include/signal.h" 3 4 typedef __sighandler_t sighandler_t; typedef __sighandler_t sig_t; # 208 "/usr/include/signal.h" 3 4 # 1 "/usr/include/bits/siginfo.h" 1 3 4 # 25 "/usr/include/bits/siginfo.h" 3 4 # 1 "/usr/include/bits/wordsize.h" 1 3 4 # 26 "/usr/include/bits/siginfo.h" 2 3 4 typedef union sigval { int sival_int; void *sival_ptr; } sigval_t; # 51 "/usr/include/bits/siginfo.h" 3 4 typedef struct siginfo { int si_signo; int si_errno; int si_code; union { int _pad[((128 / sizeof (int)) - 3)]; struct { __pid_t si_pid; __uid_t si_uid; } _kill; struct { int si_tid; int si_overrun; sigval_t si_sigval; } _timer; struct { __pid_t si_pid; __uid_t si_uid; sigval_t si_sigval; } _rt; struct { __pid_t si_pid; __uid_t si_uid; int si_status; __clock_t si_utime; __clock_t si_stime; } _sigchld; struct { void *si_addr; } _sigfault; struct { long int si_band; int si_fd; } _sigpoll; } _sifields; } siginfo_t; # 129 "/usr/include/bits/siginfo.h" 3 4 enum { SI_ASYNCNL = -60, SI_TKILL = -6, SI_SIGIO, SI_ASYNCIO, SI_MESGQ, SI_TIMER, SI_QUEUE, SI_USER, SI_KERNEL = 0x80 }; enum { ILL_ILLOPC = 1, ILL_ILLOPN, ILL_ILLADR, ILL_ILLTRP, ILL_PRVOPC, ILL_PRVREG, ILL_COPROC, ILL_BADSTK }; enum { FPE_INTDIV = 1, FPE_INTOVF, FPE_FLTDIV, FPE_FLTOVF, FPE_FLTUND, FPE_FLTRES, FPE_FLTINV, FPE_FLTSUB }; enum { SEGV_MAPERR = 1, SEGV_ACCERR }; enum { BUS_ADRALN = 1, BUS_ADRERR, BUS_OBJERR }; enum { TRAP_BRKPT = 1, TRAP_TRACE }; enum { CLD_EXITED = 1, CLD_KILLED, CLD_DUMPED, CLD_TRAPPED, CLD_STOPPED, CLD_CONTINUED }; enum { POLL_IN = 1, POLL_OUT, POLL_MSG, POLL_ERR, POLL_PRI, POLL_HUP }; # 273 "/usr/include/bits/siginfo.h" 3 4 typedef struct sigevent { sigval_t sigev_value; int sigev_signo; int sigev_notify; union { int _pad[((64 / sizeof (int)) - 3)]; __pid_t _tid; struct { void (*_function) (sigval_t); void *_attribute; } _sigev_thread; } _sigev_un; } sigevent_t; enum { SIGEV_SIGNAL = 0, SIGEV_NONE, SIGEV_THREAD, SIGEV_THREAD_ID = 4 }; # 209 "/usr/include/signal.h" 2 3 4 extern int sigemptyset (sigset_t *__set) ; extern int sigfillset (sigset_t *__set) ; extern int sigaddset (sigset_t *__set, int __signo) ; extern int sigdelset (sigset_t *__set, int __signo) ; extern int sigismember (__const sigset_t *__set, int __signo) ; extern int sigisemptyset (__const sigset_t *__set) ; extern int sigandset (sigset_t *__set, __const sigset_t *__left, __const sigset_t *__right) ; extern int sigorset (sigset_t *__set, __const sigset_t *__left, __const sigset_t *__right) ; # 1 "/usr/include/bits/sigaction.h" 1 3 4 # 25 "/usr/include/bits/sigaction.h" 3 4 struct sigaction { union { __sighandler_t sa_handler; void (*sa_sigaction) (int, siginfo_t *, void *); } __sigaction_handler; __sigset_t sa_mask; int sa_flags; void (*sa_restorer) (void); }; # 242 "/usr/include/signal.h" 2 3 4 extern int sigprocmask (int __how, __const sigset_t *__restrict __set, sigset_t *__restrict __oset) ; extern int sigsuspend (__const sigset_t *__set); extern int sigaction (int __sig, __const struct sigaction *__restrict __act, struct sigaction *__restrict __oact) ; extern int sigpending (sigset_t *__set) ; extern int sigwait (__const sigset_t *__restrict __set, int *__restrict __sig); extern int sigwaitinfo (__const sigset_t *__restrict __set, siginfo_t *__restrict __info); extern int sigtimedwait (__const sigset_t *__restrict __set, siginfo_t *__restrict __info, __const struct timespec *__restrict __timeout); extern int sigqueue (__pid_t __pid, int __sig, __const union sigval __val) ; # 297 "/usr/include/signal.h" 3 4 extern __const char *__const _sys_siglist[65]; extern __const char *__const sys_siglist[65]; struct sigvec { __sighandler_t sv_handler; int sv_mask; int sv_flags; }; # 321 "/usr/include/signal.h" 3 4 extern int sigvec (int __sig, __const struct sigvec *__vec, struct sigvec *__ovec) ; # 1 "/usr/include/bits/sigcontext.h" 1 3 4 # 28 "/usr/include/bits/sigcontext.h" 3 4 # 1 "/usr/include/asm/sigcontext.h" 1 3 4 # 18 "/usr/include/asm/sigcontext.h" 3 4 struct _fpreg { unsigned short significand[4]; unsigned short exponent; }; struct _fpxreg { unsigned short significand[4]; unsigned short exponent; unsigned short padding[3]; }; struct _xmmreg { unsigned long element[4]; }; struct _fpstate { unsigned long cw; unsigned long sw; unsigned long tag; unsigned long ipoff; unsigned long cssel; unsigned long dataoff; unsigned long datasel; struct _fpreg _st[8]; unsigned short status; unsigned short magic; unsigned long _fxsr_env[6]; unsigned long mxcsr; unsigned long reserved; struct _fpxreg _fxsr_st[8]; struct _xmmreg _xmm[8]; unsigned long padding[56]; }; struct sigcontext { unsigned short gs, __gsh; unsigned short fs, __fsh; unsigned short es, __esh; unsigned short ds, __dsh; unsigned long edi; unsigned long esi; unsigned long ebp; unsigned long esp; unsigned long ebx; unsigned long edx; unsigned long ecx; unsigned long eax; unsigned long trapno; unsigned long err; unsigned long eip; unsigned short cs, __csh; unsigned long eflags; unsigned long esp_at_signal; unsigned short ss, __ssh; struct _fpstate * fpstate; unsigned long oldmask; unsigned long cr2; }; # 29 "/usr/include/bits/sigcontext.h" 2 3 4 # 327 "/usr/include/signal.h" 2 3 4 extern int sigreturn (struct sigcontext *__scp) ; # 339 "/usr/include/signal.h" 3 4 extern int siginterrupt (int __sig, int __interrupt) ; # 1 "/usr/include/bits/sigstack.h" 1 3 4 # 26 "/usr/include/bits/sigstack.h" 3 4 struct sigstack { void *ss_sp; int ss_onstack; }; enum { SS_ONSTACK = 1, SS_DISABLE }; # 50 "/usr/include/bits/sigstack.h" 3 4 typedef struct sigaltstack { void *ss_sp; int ss_flags; size_t ss_size; } stack_t; # 342 "/usr/include/signal.h" 2 3 4 # 1 "/usr/include/sys/ucontext.h" 1 3 4 # 23 "/usr/include/sys/ucontext.h" 3 4 # 1 "/usr/include/signal.h" 1 3 4 # 24 "/usr/include/sys/ucontext.h" 2 3 4 # 1 "/usr/include/bits/sigcontext.h" 1 3 4 # 28 "/usr/include/sys/ucontext.h" 2 3 4 typedef int greg_t; typedef greg_t gregset_t[19]; enum { REG_GS = 0, REG_FS, REG_ES, REG_DS, REG_EDI, REG_ESI, REG_EBP, REG_ESP, REG_EBX, REG_EDX, REG_ECX, REG_EAX, REG_TRAPNO, REG_ERR, REG_EIP, REG_CS, REG_EFL, REG_UESP, REG_SS }; struct _libc_fpreg { unsigned short int significand[4]; unsigned short int exponent; }; struct _libc_fpstate { unsigned long int cw; unsigned long int sw; unsigned long int tag; unsigned long int ipoff; unsigned long int cssel; unsigned long int dataoff; unsigned long int datasel; struct _libc_fpreg _st[8]; unsigned long int status; }; typedef struct _libc_fpstate *fpregset_t; typedef struct { gregset_t gregs; fpregset_t fpregs; unsigned long int oldmask; unsigned long int cr2; } mcontext_t; typedef struct ucontext { unsigned long int uc_flags; struct ucontext *uc_link; stack_t uc_stack; mcontext_t uc_mcontext; __sigset_t uc_sigmask; struct _libc_fpstate __fpregs_mem; } ucontext_t; # 345 "/usr/include/signal.h" 2 3 4 extern int sigstack (struct sigstack *__ss, struct sigstack *__oss) ; extern int sigaltstack (__const struct sigaltstack *__restrict __ss, struct sigaltstack *__restrict __oss) ; extern int sighold (int __sig) ; extern int sigrelse (int __sig) ; extern int sigignore (int __sig) ; extern __sighandler_t sigset (int __sig, __sighandler_t __disp) ; # 1 "/usr/include/bits/pthreadtypes.h" 1 3 4 # 379 "/usr/include/signal.h" 2 3 4 # 1 "/usr/include/bits/sigthread.h" 1 3 4 # 31 "/usr/include/bits/sigthread.h" 3 4 extern int pthread_sigmask (int __how, __const __sigset_t *__restrict __newmask, __sigset_t *__restrict __oldmask); extern int pthread_kill (pthread_t __threadid, int __signo) ; # 380 "/usr/include/signal.h" 2 3 4 extern int __libc_current_sigrtmin (void) ; extern int __libc_current_sigrtmax (void) ; # 170 "include/includes.h" 2 # 1 "/usr/include/sys/wait.h" 1 3 4 # 28 "/usr/include/sys/wait.h" 3 4 # 98 "/usr/include/sys/wait.h" 3 4 typedef enum { P_ALL, P_PID, P_PGID } idtype_t; # 112 "/usr/include/sys/wait.h" 3 4 extern __pid_t wait (__WAIT_STATUS __stat_loc); # 135 "/usr/include/sys/wait.h" 3 4 extern __pid_t waitpid (__pid_t __pid, int *__stat_loc, int __options); # 1 "/usr/include/bits/siginfo.h" 1 3 4 # 25 "/usr/include/bits/siginfo.h" 3 4 # 1 "/usr/include/bits/wordsize.h" 1 3 4 # 26 "/usr/include/bits/siginfo.h" 2 3 4 # 140 "/usr/include/sys/wait.h" 2 3 4 # 151 "/usr/include/sys/wait.h" 3 4 extern int waitid (idtype_t __idtype, __id_t __id, siginfo_t *__infop, int __options); struct rusage; extern __pid_t wait3 (__WAIT_STATUS __stat_loc, int __options, struct rusage * __usage) ; struct rusage; extern __pid_t wait4 (__pid_t __pid, __WAIT_STATUS __stat_loc, int __options, struct rusage *__usage) ; # 173 "include/includes.h" 2 # 1 "/usr/include/ctype.h" 1 3 4 # 30 "/usr/include/ctype.h" 3 4 # 48 "/usr/include/ctype.h" 3 4 enum { _ISupper = ((0) < 8 ? ((1 << (0)) << 8) : ((1 << (0)) >> 8)), _ISlower = ((1) < 8 ? ((1 << (1)) << 8) : ((1 << (1)) >> 8)), _ISalpha = ((2) < 8 ? ((1 << (2)) << 8) : ((1 << (2)) >> 8)), _ISdigit = ((3) < 8 ? ((1 << (3)) << 8) : ((1 << (3)) >> 8)), _ISxdigit = ((4) < 8 ? ((1 << (4)) << 8) : ((1 << (4)) >> 8)), _ISspace = ((5) < 8 ? ((1 << (5)) << 8) : ((1 << (5)) >> 8)), _ISprint = ((6) < 8 ? ((1 << (6)) << 8) : ((1 << (6)) >> 8)), _ISgraph = ((7) < 8 ? ((1 << (7)) << 8) : ((1 << (7)) >> 8)), _ISblank = ((8) < 8 ? ((1 << (8)) << 8) : ((1 << (8)) >> 8)), _IScntrl = ((9) < 8 ? ((1 << (9)) << 8) : ((1 << (9)) >> 8)), _ISpunct = ((10) < 8 ? ((1 << (10)) << 8) : ((1 << (10)) >> 8)), _ISalnum = ((11) < 8 ? ((1 << (11)) << 8) : ((1 << (11)) >> 8)) }; # 81 "/usr/include/ctype.h" 3 4 extern __const unsigned short int **__ctype_b_loc (void) __attribute__ ((__const)); extern __const __int32_t **__ctype_tolower_loc (void) __attribute__ ((__const)); extern __const __int32_t **__ctype_toupper_loc (void) __attribute__ ((__const)); # 96 "/usr/include/ctype.h" 3 4 extern int isalnum (int) ; extern int isalpha (int) ; extern int iscntrl (int) ; extern int isdigit (int) ; extern int islower (int) ; extern int isgraph (int) ; extern int isprint (int) ; extern int ispunct (int) ; extern int isspace (int) ; extern int isupper (int) ; extern int isxdigit (int) ; extern int tolower (int __c) ; extern int toupper (int __c) ; extern int isblank (int) ; extern int isctype (int __c, int __mask) ; extern int isascii (int __c) ; extern int toascii (int __c) ; extern int _toupper (int) ; extern int _tolower (int) ; # 247 "/usr/include/ctype.h" 3 4 extern int isalnum_l (int, __locale_t) ; extern int isalpha_l (int, __locale_t) ; extern int iscntrl_l (int, __locale_t) ; extern int isdigit_l (int, __locale_t) ; extern int islower_l (int, __locale_t) ; extern int isgraph_l (int, __locale_t) ; extern int isprint_l (int, __locale_t) ; extern int ispunct_l (int, __locale_t) ; extern int isspace_l (int, __locale_t) ; extern int isupper_l (int, __locale_t) ; extern int isxdigit_l (int, __locale_t) ; extern int isblank_l (int, __locale_t) ; extern int __tolower_l (int __c, __locale_t __l) ; extern int tolower_l (int __c, __locale_t __l) ; extern int __toupper_l (int __c, __locale_t __l) ; extern int toupper_l (int __c, __locale_t __l) ; # 323 "/usr/include/ctype.h" 3 4 # 176 "include/includes.h" 2 # 1 "/usr/include/grp.h" 1 3 4 # 28 "/usr/include/grp.h" 3 4 # 1 "/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.1/include/stddef.h" 1 3 4 # 34 "/usr/include/grp.h" 2 3 4 # 43 "/usr/include/grp.h" 3 4 struct group { char *gr_name; char *gr_passwd; __gid_t gr_gid; char **gr_mem; }; # 63 "/usr/include/grp.h" 3 4 extern void setgrent (void); extern void endgrent (void); extern struct group *getgrent (void); # 85 "/usr/include/grp.h" 3 4 extern struct group *fgetgrent (FILE *__stream); # 95 "/usr/include/grp.h" 3 4 extern int putgrent (__const struct group *__restrict __p, FILE *__restrict __f); extern struct group *getgrgid (__gid_t __gid); extern struct group *getgrnam (__const char *__name); # 133 "/usr/include/grp.h" 3 4 extern int getgrent_r (struct group *__restrict __resultbuf, char *__restrict __buffer, size_t __buflen, struct group **__restrict __result); extern int getgrgid_r (__gid_t __gid, struct group *__restrict __resultbuf, char *__restrict __buffer, size_t __buflen, struct group **__restrict __result); extern int getgrnam_r (__const char *__restrict __name, struct group *__restrict __resultbuf, char *__restrict __buffer, size_t __buflen, struct group **__restrict __result); # 163 "/usr/include/grp.h" 3 4 extern int fgetgrent_r (FILE *__restrict __stream, struct group *__restrict __resultbuf, char *__restrict __buffer, size_t __buflen, struct group **__restrict __result); # 175 "/usr/include/grp.h" 3 4 # 1 "/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.1/include/stddef.h" 1 3 4 # 176 "/usr/include/grp.h" 2 3 4 extern int setgroups (size_t __n, __const __gid_t *__groups) ; # 188 "/usr/include/grp.h" 3 4 extern int getgrouplist (__const char *__user, __gid_t __group, __gid_t *__groups, int *__ngroups); # 199 "/usr/include/grp.h" 3 4 extern int initgroups (__const char *__user, __gid_t __group); # 179 "include/includes.h" 2 # 187 "include/includes.h" # 1 "/usr/include/errno.h" 1 3 4 # 32 "/usr/include/errno.h" 3 4 # 1 "/usr/include/bits/errno.h" 1 3 4 # 25 "/usr/include/bits/errno.h" 3 4 # 1 "/usr/include/linux/errno.h" 1 3 4 # 1 "/usr/include/asm/errno.h" 1 3 4 # 5 "/usr/include/linux/errno.h" 2 3 4 # 26 "/usr/include/bits/errno.h" 2 3 4 # 38 "/usr/include/bits/errno.h" 3 4 extern int *__errno_location (void) __attribute__ ((__const__)); # 37 "/usr/include/errno.h" 2 3 4 # 55 "/usr/include/errno.h" 3 4 extern char *program_invocation_name, *program_invocation_short_name; # 69 "/usr/include/errno.h" 3 4 typedef int error_t; # 188 "include/includes.h" 2 # 1 "/usr/include/utime.h" 1 3 4 # 28 "/usr/include/utime.h" 3 4 # 38 "/usr/include/utime.h" 3 4 struct utimbuf { __time_t actime; __time_t modtime; }; extern int utime (__const char *__file, __const struct utimbuf *__file_times) ; # 191 "include/includes.h" 2 # 205 "include/includes.h" # 1 "/usr/include/glob.h" 1 3 4 # 111 "/usr/include/glob.h" 3 4 struct stat; typedef struct { size_t gl_pathc; char **gl_pathv; size_t gl_offs; int gl_flags; void (*gl_closedir) (void *); struct dirent *(*gl_readdir) (void *); void * (*gl_opendir) (__const char *); int (*gl_lstat) (__const char *__restrict, struct stat *__restrict); int (*gl_stat) (__const char *__restrict, struct stat *__restrict); } glob_t; struct stat64; typedef struct { size_t gl_pathc; char **gl_pathv; size_t gl_offs; int gl_flags; void (*gl_closedir) (void *); struct dirent64 *(*gl_readdir) (void *); void * (*gl_opendir) (__const char *); int (*gl_lstat) (__const char *__restrict, struct stat64 *__restrict); int (*gl_stat) (__const char *__restrict, struct stat64 *__restrict); } glob64_t; # 193 "/usr/include/glob.h" 3 4 extern int glob (__const char *__restrict __pattern, int __flags, int (*__errfunc) (__const char *, int), glob_t *__restrict __pglob) __asm__ ("glob64"); extern void globfree (glob_t *__pglob) __asm__ ("globfree64"); extern int glob64 (__const char *__restrict __pattern, int __flags, int (*__errfunc) (__const char *, int), glob64_t *__restrict __pglob) ; extern void globfree64 (glob64_t *__pglob) ; # 215 "/usr/include/glob.h" 3 4 extern int glob_pattern_p (__const char *__pattern, int __quote) ; # 206 "include/includes.h" 2 # 1 "/usr/include/pwd.h" 1 3 4 # 28 "/usr/include/pwd.h" 3 4 # 1 "/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.1/include/stddef.h" 1 3 4 # 34 "/usr/include/pwd.h" 2 3 4 # 50 "/usr/include/pwd.h" 3 4 struct passwd { char *pw_name; char *pw_passwd; __uid_t pw_uid; __gid_t pw_gid; char *pw_gecos; char *pw_dir; char *pw_shell; }; # 73 "/usr/include/pwd.h" 3 4 extern void setpwent (void); extern void endpwent (void); extern struct passwd *getpwent (void); # 95 "/usr/include/pwd.h" 3 4 extern struct passwd *fgetpwent (FILE *__stream); extern int putpwent (__const struct passwd *__restrict __p, FILE *__restrict __f); extern struct passwd *getpwuid (__uid_t __uid); extern struct passwd *getpwnam (__const char *__name); # 140 "/usr/include/pwd.h" 3 4 extern int getpwent_r (struct passwd *__restrict __resultbuf, char *__restrict __buffer, size_t __buflen, struct passwd **__restrict __result); extern int getpwuid_r (__uid_t __uid, struct passwd *__restrict __resultbuf, char *__restrict __buffer, size_t __buflen, struct passwd **__restrict __result); extern int getpwnam_r (__const char *__restrict __name, struct passwd *__restrict __resultbuf, char *__restrict __buffer, size_t __buflen, struct passwd **__restrict __result); # 164 "/usr/include/pwd.h" 3 4 extern int fgetpwent_r (FILE *__restrict __stream, struct passwd *__restrict __resultbuf, char *__restrict __buffer, size_t __buflen, struct passwd **__restrict __result); # 181 "/usr/include/pwd.h" 3 4 extern int getpw (__uid_t __uid, char *__buffer); # 209 "include/includes.h" 2 # 1 "/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.1/include/stdarg.h" 1 3 4 # 212 "include/includes.h" 2 # 1 "/usr/include/netinet/in.h" 1 3 4 # 23 "/usr/include/netinet/in.h" 3 4 # 1 "/usr/include/stdint.h" 1 3 4 # 28 "/usr/include/stdint.h" 3 4 # 1 "/usr/include/bits/wordsize.h" 1 3 4 # 29 "/usr/include/stdint.h" 2 3 4 # 49 "/usr/include/stdint.h" 3 4 typedef unsigned char uint8_t; typedef unsigned short int uint16_t; typedef unsigned int uint32_t; __extension__ typedef unsigned long long int uint64_t; typedef signed char int_least8_t; typedef short int int_least16_t; typedef int int_least32_t; __extension__ typedef long long int int_least64_t; typedef unsigned char uint_least8_t; typedef unsigned short int uint_least16_t; typedef unsigned int uint_least32_t; __extension__ typedef unsigned long long int uint_least64_t; typedef signed char int_fast8_t; typedef int int_fast16_t; typedef int int_fast32_t; __extension__ typedef long long int int_fast64_t; typedef unsigned char uint_fast8_t; typedef unsigned int uint_fast16_t; typedef unsigned int uint_fast32_t; __extension__ typedef unsigned long long int uint_fast64_t; # 129 "/usr/include/stdint.h" 3 4 typedef unsigned int uintptr_t; # 138 "/usr/include/stdint.h" 3 4 __extension__ typedef long long int intmax_t; __extension__ typedef unsigned long long int uintmax_t; # 24 "/usr/include/netinet/in.h" 2 3 4 enum { IPPROTO_IP = 0, IPPROTO_HOPOPTS = 0, IPPROTO_ICMP = 1, IPPROTO_IGMP = 2, IPPROTO_IPIP = 4, IPPROTO_TCP = 6, IPPROTO_EGP = 8, IPPROTO_PUP = 12, IPPROTO_UDP = 17, IPPROTO_IDP = 22, IPPROTO_TP = 29, IPPROTO_IPV6 = 41, IPPROTO_ROUTING = 43, IPPROTO_FRAGMENT = 44, IPPROTO_RSVP = 46, IPPROTO_GRE = 47, IPPROTO_ESP = 50, IPPROTO_AH = 51, IPPROTO_ICMPV6 = 58, IPPROTO_NONE = 59, IPPROTO_DSTOPTS = 60, IPPROTO_MTP = 92, IPPROTO_ENCAP = 98, IPPROTO_PIM = 103, IPPROTO_COMP = 108, IPPROTO_SCTP = 132, IPPROTO_RAW = 255, IPPROTO_MAX }; typedef uint16_t in_port_t; enum { IPPORT_ECHO = 7, IPPORT_DISCARD = 9, IPPORT_SYSTAT = 11, IPPORT_DAYTIME = 13, IPPORT_NETSTAT = 15, IPPORT_FTP = 21, IPPORT_TELNET = 23, IPPORT_SMTP = 25, IPPORT_TIMESERVER = 37, IPPORT_NAMESERVER = 42, IPPORT_WHOIS = 43, IPPORT_MTP = 57, IPPORT_TFTP = 69, IPPORT_RJE = 77, IPPORT_FINGER = 79, IPPORT_TTYLINK = 87, IPPORT_SUPDUP = 95, IPPORT_EXECSERVER = 512, IPPORT_LOGINSERVER = 513, IPPORT_CMDSERVER = 514, IPPORT_EFSSERVER = 520, IPPORT_BIFFUDP = 512, IPPORT_WHOSERVER = 513, IPPORT_ROUTESERVER = 520, IPPORT_RESERVED = 1024, IPPORT_USERRESERVED = 5000 }; typedef uint32_t in_addr_t; struct in_addr { in_addr_t s_addr; }; # 193 "/usr/include/netinet/in.h" 3 4 struct in6_addr { union { uint8_t u6_addr8[16]; uint16_t u6_addr16[8]; uint32_t u6_addr32[4]; } in6_u; }; extern const struct in6_addr in6addr_any; extern const struct in6_addr in6addr_loopback; # 219 "/usr/include/netinet/in.h" 3 4 struct sockaddr_in { sa_family_t sin_family; in_port_t sin_port; struct in_addr sin_addr; unsigned char sin_zero[sizeof (struct sockaddr) - (sizeof (unsigned short int)) - sizeof (in_port_t) - sizeof (struct in_addr)]; }; struct sockaddr_in6 { sa_family_t sin6_family; in_port_t sin6_port; uint32_t sin6_flowinfo; struct in6_addr sin6_addr; uint32_t sin6_scope_id; }; struct ipv6_mreq { struct in6_addr ipv6mr_multiaddr; unsigned int ipv6mr_interface; }; # 1 "/usr/include/bits/in.h" 1 3 4 # 66 "/usr/include/bits/in.h" 3 4 struct ip_opts { struct in_addr ip_dst; char ip_opts[40]; }; struct ip_mreq { struct in_addr imr_multiaddr; struct in_addr imr_interface; }; struct ip_mreqn { struct in_addr imr_multiaddr; struct in_addr imr_address; int imr_ifindex; }; struct in_pktinfo { int ipi_ifindex; struct in_addr ipi_spec_dst; struct in_addr ipi_addr; }; # 254 "/usr/include/netinet/in.h" 2 3 4 # 262 "/usr/include/netinet/in.h" 3 4 extern uint32_t ntohl (uint32_t __netlong) __attribute__ ((__const__)); extern uint16_t ntohs (uint16_t __netshort) __attribute__ ((__const__)); extern uint32_t htonl (uint32_t __hostlong) __attribute__ ((__const__)); extern uint16_t htons (uint16_t __hostshort) __attribute__ ((__const__)); # 1 "/usr/include/bits/byteswap.h" 1 3 4 # 274 "/usr/include/netinet/in.h" 2 3 4 # 336 "/usr/include/netinet/in.h" 3 4 extern int bindresvport (int __sockfd, struct sockaddr_in *__sock_in) ; extern int bindresvport6 (int __sockfd, struct sockaddr_in6 *__sock_in) ; # 364 "/usr/include/netinet/in.h" 3 4 struct in6_pktinfo { struct in6_addr ipi6_addr; unsigned int ipi6_ifindex; }; extern int inet6_option_space (int __nbytes); extern int inet6_option_init (void *__bp, struct cmsghdr **__cmsgp, int __type); extern int inet6_option_append (struct cmsghdr *__cmsg, __const uint8_t *__typep, int __multx, int __plusy); extern uint8_t *inet6_option_alloc (struct cmsghdr *__cmsg, int __datalen, int __multx, int __plusy); extern int inet6_option_next (__const struct cmsghdr *__cmsg, uint8_t **__tptrp); extern int inet6_option_find (__const struct cmsghdr *__cmsg, uint8_t **__tptrp, int __type); # 217 "include/includes.h" 2 # 1 "/usr/include/arpa/inet.h" 1 3 4 # 31 "/usr/include/arpa/inet.h" 3 4 extern in_addr_t inet_addr (__const char *__cp) ; extern in_addr_t inet_lnaof (struct in_addr __in) ; extern struct in_addr inet_makeaddr (in_addr_t __net, in_addr_t __host) ; extern in_addr_t inet_netof (struct in_addr __in) ; extern in_addr_t inet_network (__const char *__cp) ; extern char *inet_ntoa (struct in_addr __in) ; extern int inet_pton (int __af, __const char *__restrict __cp, void *__restrict __buf) ; extern __const char *inet_ntop (int __af, __const void *__restrict __cp, char *__restrict __buf, socklen_t __len) ; extern in_addr_t inet_aton (__const char *__cp, struct in_addr *__inp) ; extern char *inet_neta (in_addr_t __net, char *__buf, size_t __len) ; extern char *inet_net_ntop (int __af, __const void *__cp, int __bits, char *__buf, size_t __len) ; extern int inet_net_pton (int __af, __const char *__cp, void *__buf, size_t __len) ; extern unsigned int inet_nsap_addr (__const char *__cp, unsigned char *__buf, int __len) ; extern char *inet_nsap_ntoa (int __len, __const unsigned char *__cp, char *__buf) ; # 218 "include/includes.h" 2 # 1 "/usr/include/netdb.h" 1 3 4 # 33 "/usr/include/netdb.h" 3 4 # 1 "/usr/include/rpc/netdb.h" 1 3 4 # 42 "/usr/include/rpc/netdb.h" 3 4 # 1 "/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.1/include/stddef.h" 1 3 4 # 43 "/usr/include/rpc/netdb.h" 2 3 4 struct rpcent { char *r_name; char **r_aliases; int r_number; }; extern void setrpcent (int __stayopen) ; extern void endrpcent (void) ; extern struct rpcent *getrpcbyname (__const char *__name) ; extern struct rpcent *getrpcbynumber (int __number) ; extern struct rpcent *getrpcent (void) ; extern int getrpcbyname_r (__const char *__name, struct rpcent *__result_buf, char *__buffer, size_t __buflen, struct rpcent **__result) ; extern int getrpcbynumber_r (int __number, struct rpcent *__result_buf, char *__buffer, size_t __buflen, struct rpcent **__result) ; extern int getrpcent_r (struct rpcent *__result_buf, char *__buffer, size_t __buflen, struct rpcent **__result) ; # 34 "/usr/include/netdb.h" 2 3 4 # 1 "/usr/include/bits/siginfo.h" 1 3 4 # 25 "/usr/include/bits/siginfo.h" 3 4 # 1 "/usr/include/bits/wordsize.h" 1 3 4 # 26 "/usr/include/bits/siginfo.h" 2 3 4 # 39 "/usr/include/netdb.h" 2 3 4 # 1 "/usr/include/bits/netdb.h" 1 3 4 # 27 "/usr/include/bits/netdb.h" 3 4 struct netent { char *n_name; char **n_aliases; int n_addrtype; uint32_t n_net; }; # 44 "/usr/include/netdb.h" 2 3 4 # 54 "/usr/include/netdb.h" 3 4 extern int *__h_errno_location (void) __attribute__ ((__const__)); # 88 "/usr/include/netdb.h" 3 4 extern void herror (__const char *__str) ; extern __const char *hstrerror (int __err_num) ; struct hostent { char *h_name; char **h_aliases; int h_addrtype; int h_length; char **h_addr_list; }; extern void sethostent (int __stay_open); extern void endhostent (void); extern struct hostent *gethostent (void); extern struct hostent *gethostbyaddr (__const void *__addr, __socklen_t __len, int __type); extern struct hostent *gethostbyname (__const char *__name); # 149 "/usr/include/netdb.h" 3 4 extern struct hostent *gethostbyname2 (__const char *__name, int __af); # 161 "/usr/include/netdb.h" 3 4 extern int gethostent_r (struct hostent *__restrict __result_buf, char *__restrict __buf, size_t __buflen, struct hostent **__restrict __result, int *__restrict __h_errnop); extern int gethostbyaddr_r (__const void *__restrict __addr, __socklen_t __len, int __type, struct hostent *__restrict __result_buf, char *__restrict __buf, size_t __buflen, struct hostent **__restrict __result, int *__restrict __h_errnop); extern int gethostbyname_r (__const char *__restrict __name, struct hostent *__restrict __result_buf, char *__restrict __buf, size_t __buflen, struct hostent **__restrict __result, int *__restrict __h_errnop); extern int gethostbyname2_r (__const char *__restrict __name, int __af, struct hostent *__restrict __result_buf, char *__restrict __buf, size_t __buflen, struct hostent **__restrict __result, int *__restrict __h_errnop); # 192 "/usr/include/netdb.h" 3 4 extern void setnetent (int __stay_open); extern void endnetent (void); extern struct netent *getnetent (void); extern struct netent *getnetbyaddr (uint32_t __net, int __type); extern struct netent *getnetbyname (__const char *__name); # 231 "/usr/include/netdb.h" 3 4 extern int getnetent_r (struct netent *__restrict __result_buf, char *__restrict __buf, size_t __buflen, struct netent **__restrict __result, int *__restrict __h_errnop); extern int getnetbyaddr_r (uint32_t __net, int __type, struct netent *__restrict __result_buf, char *__restrict __buf, size_t __buflen, struct netent **__restrict __result, int *__restrict __h_errnop); extern int getnetbyname_r (__const char *__restrict __name, struct netent *__restrict __result_buf, char *__restrict __buf, size_t __buflen, struct netent **__restrict __result, int *__restrict __h_errnop); struct servent { char *s_name; char **s_aliases; int s_port; char *s_proto; }; extern void setservent (int __stay_open); extern void endservent (void); extern struct servent *getservent (void); extern struct servent *getservbyname (__const char *__name, __const char *__proto); extern struct servent *getservbyport (int __port, __const char *__proto); # 303 "/usr/include/netdb.h" 3 4 extern int getservent_r (struct servent *__restrict __result_buf, char *__restrict __buf, size_t __buflen, struct servent **__restrict __result); extern int getservbyname_r (__const char *__restrict __name, __const char *__restrict __proto, struct servent *__restrict __result_buf, char *__restrict __buf, size_t __buflen, struct servent **__restrict __result); extern int getservbyport_r (int __port, __const char *__restrict __proto, struct servent *__restrict __result_buf, char *__restrict __buf, size_t __buflen, struct servent **__restrict __result); struct protoent { char *p_name; char **p_aliases; int p_proto; }; extern void setprotoent (int __stay_open); extern void endprotoent (void); extern struct protoent *getprotoent (void); extern struct protoent *getprotobyname (__const char *__name); extern struct protoent *getprotobynumber (int __proto); # 369 "/usr/include/netdb.h" 3 4 extern int getprotoent_r (struct protoent *__restrict __result_buf, char *__restrict __buf, size_t __buflen, struct protoent **__restrict __result); extern int getprotobyname_r (__const char *__restrict __name, struct protoent *__restrict __result_buf, char *__restrict __buf, size_t __buflen, struct protoent **__restrict __result); extern int getprotobynumber_r (int __proto, struct protoent *__restrict __result_buf, char *__restrict __buf, size_t __buflen, struct protoent **__restrict __result); # 390 "/usr/include/netdb.h" 3 4 extern int setnetgrent (__const char *__netgroup); extern void endnetgrent (void); # 407 "/usr/include/netdb.h" 3 4 extern int getnetgrent (char **__restrict __hostp, char **__restrict __userp, char **__restrict __domainp); # 418 "/usr/include/netdb.h" 3 4 extern int innetgr (__const char *__netgroup, __const char *__host, __const char *__user, __const char *domain); extern int getnetgrent_r (char **__restrict __hostp, char **__restrict __userp, char **__restrict __domainp, char *__restrict __buffer, size_t __buflen); # 446 "/usr/include/netdb.h" 3 4 extern int rcmd (char **__restrict __ahost, unsigned short int __rport, __const char *__restrict __locuser, __const char *__restrict __remuser, __const char *__restrict __cmd, int *__restrict __fd2p); # 458 "/usr/include/netdb.h" 3 4 extern int rcmd_af (char **__restrict __ahost, unsigned short int __rport, __const char *__restrict __locuser, __const char *__restrict __remuser, __const char *__restrict __cmd, int *__restrict __fd2p, sa_family_t __af); # 474 "/usr/include/netdb.h" 3 4 extern int rexec (char **__restrict __ahost, int __rport, __const char *__restrict __name, __const char *__restrict __pass, __const char *__restrict __cmd, int *__restrict __fd2p); # 486 "/usr/include/netdb.h" 3 4 extern int rexec_af (char **__restrict __ahost, int __rport, __const char *__restrict __name, __const char *__restrict __pass, __const char *__restrict __cmd, int *__restrict __fd2p, sa_family_t __af); # 500 "/usr/include/netdb.h" 3 4 extern int ruserok (__const char *__rhost, int __suser, __const char *__remuser, __const char *__locuser); # 510 "/usr/include/netdb.h" 3 4 extern int ruserok_af (__const char *__rhost, int __suser, __const char *__remuser, __const char *__locuser, sa_family_t __af); # 522 "/usr/include/netdb.h" 3 4 extern int rresvport (int *__alport); # 531 "/usr/include/netdb.h" 3 4 extern int rresvport_af (int *__alport, sa_family_t __af); struct addrinfo { int ai_flags; int ai_family; int ai_socktype; int ai_protocol; socklen_t ai_addrlen; struct sockaddr *ai_addr; char *ai_canonname; struct addrinfo *ai_next; }; struct gaicb { const char *ar_name; const char *ar_service; const struct addrinfo *ar_request; struct addrinfo *ar_result; int __return; int __unused[5]; }; # 611 "/usr/include/netdb.h" 3 4 extern int getaddrinfo (__const char *__restrict __name, __const char *__restrict __service, __const struct addrinfo *__restrict __req, struct addrinfo **__restrict __pai); extern void freeaddrinfo (struct addrinfo *__ai) ; extern __const char *gai_strerror (int __ecode) ; extern int getnameinfo (__const struct sockaddr *__restrict __sa, socklen_t __salen, char *__restrict __host, socklen_t __hostlen, char *__restrict __serv, socklen_t __servlen, unsigned int __flags); # 641 "/usr/include/netdb.h" 3 4 extern int getaddrinfo_a (int __mode, struct gaicb *__list[__restrict], int __ent, struct sigevent *__restrict __sig); # 652 "/usr/include/netdb.h" 3 4 extern int gai_suspend (__const struct gaicb *__const __list[], int __ent, __const struct timespec *__timeout); extern int gai_error (struct gaicb *__req) ; extern int gai_cancel (struct gaicb *__gaicbp) ; # 219 "include/includes.h" 2 # 1 "/usr/include/syslog.h" 1 3 4 # 1 "/usr/include/sys/syslog.h" 1 3 4 # 169 "/usr/include/sys/syslog.h" 3 4 extern void closelog (void); extern void openlog (__const char *__ident, int __option, int __facility); extern int setlogmask (int __mask) ; extern void syslog (int __pri, __const char *__fmt, ...) __attribute__ ((__format__(__printf__, 2, 3))); # 200 "/usr/include/sys/syslog.h" 3 4 extern void vsyslog (int __pri, __const char *__fmt, __gnuc_va_list __ap) __attribute__ ((__format__(__printf__, 2, 0))); # 2 "/usr/include/syslog.h" 2 3 4 # 222 "include/includes.h" 2 # 1 "/usr/include/sys/file.h" 1 3 4 # 28 "/usr/include/sys/file.h" 3 4 # 51 "/usr/include/sys/file.h" 3 4 extern int flock (int __fd, int __operation) ; # 229 "include/includes.h" 2 # 1 "/usr/include/netinet/tcp.h" 1 3 4 # 89 "/usr/include/netinet/tcp.h" 3 4 struct tcphdr { u_int16_t source; u_int16_t dest; u_int32_t seq; u_int32_t ack_seq; u_int16_t res1:4; u_int16_t doff:4; u_int16_t fin:1; u_int16_t syn:1; u_int16_t rst:1; u_int16_t psh:1; u_int16_t ack:1; u_int16_t urg:1; u_int16_t res2:2; # 118 "/usr/include/netinet/tcp.h" 3 4 u_int16_t window; u_int16_t check; u_int16_t urg_ptr; }; enum { TCP_ESTABLISHED = 1, TCP_SYN_SENT, TCP_SYN_RECV, TCP_FIN_WAIT1, TCP_FIN_WAIT2, TCP_TIME_WAIT, TCP_CLOSE, TCP_CLOSE_WAIT, TCP_LAST_ACK, TCP_LISTEN, TCP_CLOSING }; # 176 "/usr/include/netinet/tcp.h" 3 4 enum tcp_ca_state { TCP_CA_Open = 0, TCP_CA_Disorder = 1, TCP_CA_CWR = 2, TCP_CA_Recovery = 3, TCP_CA_Loss = 4 }; struct tcp_info { u_int8_t tcpi_state; u_int8_t tcpi_ca_state; u_int8_t tcpi_retransmits; u_int8_t tcpi_probes; u_int8_t tcpi_backoff; u_int8_t tcpi_options; u_int8_t tcpi_snd_wscale : 4, tcpi_rcv_wscale : 4; u_int32_t tcpi_rto; u_int32_t tcpi_ato; u_int32_t tcpi_snd_mss; u_int32_t tcpi_rcv_mss; u_int32_t tcpi_unacked; u_int32_t tcpi_sacked; u_int32_t tcpi_lost; u_int32_t tcpi_retrans; u_int32_t tcpi_fackets; u_int32_t tcpi_last_data_sent; u_int32_t tcpi_last_ack_sent; u_int32_t tcpi_last_data_recv; u_int32_t tcpi_last_ack_recv; u_int32_t tcpi_pmtu; u_int32_t tcpi_rcv_ssthresh; u_int32_t tcpi_rtt; u_int32_t tcpi_rttvar; u_int32_t tcpi_snd_ssthresh; u_int32_t tcpi_snd_cwnd; u_int32_t tcpi_advmss; u_int32_t tcpi_reordering; }; # 232 "include/includes.h" 2 # 240 "include/includes.h" # 1 "/usr/include/netinet/in_systm.h" 1 3 4 # 26 "/usr/include/netinet/in_systm.h" 3 4 # 35 "/usr/include/netinet/in_systm.h" 3 4 typedef u_int16_t n_short; typedef u_int32_t n_long; typedef u_int32_t n_time; # 241 "include/includes.h" 2 # 1 "/usr/include/netinet/ip.h" 1 3 4 # 27 "/usr/include/netinet/ip.h" 3 4 struct timestamp { u_int8_t len; u_int8_t ptr; unsigned int flags:4; unsigned int overflow:4; u_int32_t data[9]; }; struct iphdr { unsigned int ihl:4; unsigned int version:4; u_int8_t tos; u_int16_t tot_len; u_int16_t id; u_int16_t frag_off; u_int8_t ttl; u_int8_t protocol; u_int16_t check; u_int32_t saddr; u_int32_t daddr; }; # 108 "/usr/include/netinet/ip.h" 3 4 struct ip { unsigned int ip_hl:4; unsigned int ip_v:4; u_int8_t ip_tos; u_short ip_len; u_short ip_id; u_short ip_off; u_int8_t ip_ttl; u_int8_t ip_p; u_short ip_sum; struct in_addr ip_src, ip_dst; }; struct ip_timestamp { u_int8_t ipt_code; u_int8_t ipt_len; u_int8_t ipt_ptr; unsigned int ipt_flg:4; unsigned int ipt_oflw:4; u_int32_t data[9]; }; # 247 "/usr/include/netinet/ip.h" 3 4 # 249 "include/includes.h" 2 # 1 "/usr/include/termios.h" 1 3 4 # 36 "/usr/include/termios.h" 3 4 # 1 "/usr/include/bits/termios.h" 1 3 4 # 25 "/usr/include/bits/termios.h" 3 4 typedef unsigned char cc_t; typedef unsigned int speed_t; typedef unsigned int tcflag_t; struct termios { tcflag_t c_iflag; tcflag_t c_oflag; tcflag_t c_cflag; tcflag_t c_lflag; cc_t c_line; cc_t c_cc[32]; speed_t c_ispeed; speed_t c_ospeed; }; # 41 "/usr/include/termios.h" 2 3 4 # 49 "/usr/include/termios.h" 3 4 extern speed_t cfgetospeed (__const struct termios *__termios_p) ; extern speed_t cfgetispeed (__const struct termios *__termios_p) ; extern int cfsetospeed (struct termios *__termios_p, speed_t __speed) ; extern int cfsetispeed (struct termios *__termios_p, speed_t __speed) ; extern int cfsetspeed (struct termios *__termios_p, speed_t __speed) ; extern int tcgetattr (int __fd, struct termios *__termios_p) ; extern int tcsetattr (int __fd, int __optional_actions, __const struct termios *__termios_p) ; extern void cfmakeraw (struct termios *__termios_p) ; extern int tcsendbreak (int __fd, int __duration) ; extern int tcdrain (int __fd); extern int tcflush (int __fd, int __queue_selector) ; extern int tcflow (int __fd, int __action) ; extern __pid_t tcgetsid (int __fd) ; # 1 "/usr/include/sys/ttydefaults.h" 1 3 4 # 106 "/usr/include/termios.h" 2 3 4 # 254 "include/includes.h" 2 # 263 "include/includes.h" # 1 "/usr/include/dirent.h" 1 3 4 # 28 "/usr/include/dirent.h" 3 4 # 62 "/usr/include/dirent.h" 3 4 # 1 "/usr/include/bits/dirent.h" 1 3 4 # 23 "/usr/include/bits/dirent.h" 3 4 struct dirent { __ino64_t d_ino; __off64_t d_off; unsigned short int d_reclen; unsigned char d_type; char d_name[256]; }; struct dirent64 { __ino64_t d_ino; __off64_t d_off; unsigned short int d_reclen; unsigned char d_type; char d_name[256]; }; # 63 "/usr/include/dirent.h" 2 3 4 # 98 "/usr/include/dirent.h" 3 4 enum { DT_UNKNOWN = 0, DT_FIFO = 1, DT_CHR = 2, DT_DIR = 4, DT_BLK = 6, DT_REG = 8, DT_LNK = 10, DT_SOCK = 12, DT_WHT = 14 }; # 128 "/usr/include/dirent.h" 3 4 typedef struct __dirstream DIR; extern DIR *opendir (__const char *__name); extern int closedir (DIR *__dirp); # 158 "/usr/include/dirent.h" 3 4 extern struct dirent *readdir (DIR *__dirp) __asm__ ("" "readdir64"); extern struct dirent64 *readdir64 (DIR *__dirp); # 180 "/usr/include/dirent.h" 3 4 extern int readdir_r (DIR *__restrict __dirp, struct dirent *__restrict __entry, struct dirent **__restrict __result) __asm__ ("" "readdir64_r"); # 191 "/usr/include/dirent.h" 3 4 extern int readdir64_r (DIR *__restrict __dirp, struct dirent64 *__restrict __entry, struct dirent64 **__restrict __result); extern void rewinddir (DIR *__dirp) ; extern void seekdir (DIR *__dirp, long int __pos) ; extern long int telldir (DIR *__dirp) ; extern int dirfd (DIR *__dirp) ; # 232 "/usr/include/dirent.h" 3 4 # 1 "/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.1/include/stddef.h" 1 3 4 # 233 "/usr/include/dirent.h" 2 3 4 # 245 "/usr/include/dirent.h" 3 4 extern int scandir (__const char *__restrict __dir, struct dirent ***__restrict __namelist, int (*__selector) (__const struct dirent *), int (*__cmp) (__const void *, __const void *)) __asm__ ("" "scandir64"); # 259 "/usr/include/dirent.h" 3 4 extern int scandir64 (__const char *__restrict __dir, struct dirent64 ***__restrict __namelist, int (*__selector) (__const struct dirent64 *), int (*__cmp) (__const void *, __const void *)); # 271 "/usr/include/dirent.h" 3 4 extern int alphasort (__const void *__e1, __const void *__e2) __asm__ ("" "alphasort64") __attribute__ ((__pure__)); # 280 "/usr/include/dirent.h" 3 4 extern int alphasort64 (__const void *__e1, __const void *__e2) __attribute__ ((__pure__)); # 291 "/usr/include/dirent.h" 3 4 extern int versionsort (__const void *__e1, __const void *__e2) __asm__ ("" "versionsort64") __attribute__ ((__pure__)); # 300 "/usr/include/dirent.h" 3 4 extern int versionsort64 (__const void *__e1, __const void *__e2) __attribute__ ((__pure__)); # 315 "/usr/include/dirent.h" 3 4 extern __ssize_t getdirentries (int __fd, char *__restrict __buf, size_t __nbytes, __off64_t *__restrict __basep) __asm__ ("" "getdirentries64"); # 326 "/usr/include/dirent.h" 3 4 extern __ssize_t getdirentries64 (int __fd, char *__restrict __buf, size_t __nbytes, __off64_t *__restrict __basep) ; # 264 "include/includes.h" 2 # 280 "include/includes.h" # 1 "/usr/include/sys/mman.h" 1 3 4 # 26 "/usr/include/sys/mman.h" 3 4 # 1 "/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.1/include/stddef.h" 1 3 4 # 27 "/usr/include/sys/mman.h" 2 3 4 # 42 "/usr/include/sys/mman.h" 3 4 # 1 "/usr/include/bits/mman.h" 1 3 4 # 43 "/usr/include/sys/mman.h" 2 3 4 # 62 "/usr/include/sys/mman.h" 3 4 extern void * mmap (void *__addr, size_t __len, int __prot, int __flags, int __fd, __off64_t __offset) __asm__ ("" "mmap64"); # 71 "/usr/include/sys/mman.h" 3 4 extern void *mmap64 (void *__addr, size_t __len, int __prot, int __flags, int __fd, __off64_t __offset) ; extern int munmap (void *__addr, size_t __len) ; extern int mprotect (void *__addr, size_t __len, int __prot) ; extern int msync (void *__addr, size_t __len, int __flags); extern int madvise (void *__addr, size_t __len, int __advice) ; extern int posix_madvise (void *__addr, size_t __len, int __advice) ; extern int mlock (__const void *__addr, size_t __len) ; extern int munlock (__const void *__addr, size_t __len) ; extern int mlockall (int __flags) ; extern int munlockall (void) ; extern void *mremap (void *__addr, size_t __old_len, size_t __new_len, int __may_move) ; extern int mincore (void *__start, size_t __len, unsigned char *__vec) ; extern int remap_file_pages (void *__start, size_t __size, int __prot, size_t __pgoff, int __flags) ; extern int shm_open (__const char *__name, int __oflag, mode_t __mode); extern int shm_unlink (__const char *__name); # 281 "include/includes.h" 2 # 1 "/usr/include/net/if.h" 1 3 4 # 34 "/usr/include/net/if.h" 3 4 struct if_nameindex { unsigned int if_index; char *if_name; }; enum { IFF_UP = 0x1, IFF_BROADCAST = 0x2, IFF_DEBUG = 0x4, IFF_LOOPBACK = 0x8, IFF_POINTOPOINT = 0x10, IFF_NOTRAILERS = 0x20, IFF_RUNNING = 0x40, IFF_NOARP = 0x80, IFF_PROMISC = 0x100, IFF_ALLMULTI = 0x200, IFF_MASTER = 0x400, IFF_SLAVE = 0x800, IFF_MULTICAST = 0x1000, IFF_PORTSEL = 0x2000, IFF_AUTOMEDIA = 0x4000 }; struct ifaddr { struct sockaddr ifa_addr; union { struct sockaddr ifu_broadaddr; struct sockaddr ifu_dstaddr; } ifa_ifu; struct iface *ifa_ifp; struct ifaddr *ifa_next; }; # 110 "/usr/include/net/if.h" 3 4 struct ifmap { unsigned long int mem_start; unsigned long int mem_end; unsigned short int base_addr; unsigned char irq; unsigned char dma; unsigned char port; }; struct ifreq { union { char ifrn_name[16]; } ifr_ifrn; union { struct sockaddr ifru_addr; struct sockaddr ifru_dstaddr; struct sockaddr ifru_broadaddr; struct sockaddr ifru_netmask; struct sockaddr ifru_hwaddr; short int ifru_flags; int ifru_ivalue; int ifru_mtu; struct ifmap ifru_map; char ifru_slave[16]; char ifru_newname[16]; __caddr_t ifru_data; } ifr_ifru; }; # 175 "/usr/include/net/if.h" 3 4 struct ifconf { int ifc_len; union { __caddr_t ifcu_buf; struct ifreq *ifcu_req; } ifc_ifcu; }; extern unsigned int if_nametoindex (__const char *__ifname) ; extern char *if_indextoname (unsigned int __ifindex, char *__ifname) ; extern struct if_nameindex *if_nameindex (void) ; extern void if_freenameindex (struct if_nameindex *__ptr) ; # 285 "include/includes.h" 2 # 1 "/usr/include/sys/mount.h" 1 3 4 # 34 "/usr/include/sys/mount.h" 3 4 enum { MS_RDONLY = 1, MS_NOSUID = 2, MS_NODEV = 4, MS_NOEXEC = 8, MS_SYNCHRONOUS = 16, MS_REMOUNT = 32, MS_MANDLOCK = 64, S_WRITE = 128, S_APPEND = 256, S_IMMUTABLE = 512, MS_NOATIME = 1024, MS_NODIRATIME = 2048, MS_BIND = 4096, }; # 88 "/usr/include/sys/mount.h" 3 4 enum { MNT_FORCE = 1 }; extern int mount (__const char *__special_file, __const char *__dir, __const char *__fstype, unsigned long int __rwflag, __const void *__data) ; extern int umount (__const char *__special_file) ; extern int umount2 (__const char *__special_file, int __flags) ; # 290 "include/includes.h" 2 # 1 "/usr/include/sys/vfs.h" 1 3 4 # 1 "/usr/include/sys/statfs.h" 1 3 4 # 26 "/usr/include/sys/statfs.h" 3 4 # 1 "/usr/include/bits/statfs.h" 1 3 4 # 25 "/usr/include/bits/statfs.h" 3 4 struct statfs { int f_type; int f_bsize; __fsblkcnt64_t f_blocks; __fsblkcnt64_t f_bfree; __fsblkcnt64_t f_bavail; __fsfilcnt64_t f_files; __fsfilcnt64_t f_ffree; __fsid_t f_fsid; int f_namelen; int f_frsize; int f_spare[5]; }; struct statfs64 { int f_type; int f_bsize; __fsblkcnt64_t f_blocks; __fsblkcnt64_t f_bfree; __fsblkcnt64_t f_bavail; __fsfilcnt64_t f_files; __fsfilcnt64_t f_ffree; __fsid_t f_fsid; int f_namelen; int f_frsize; int f_spare[5]; }; # 27 "/usr/include/sys/statfs.h" 2 3 4 extern int statfs (__const char *__file, struct statfs *__buf) __asm__ ("" "statfs64"); extern int statfs64 (__const char *__file, struct statfs64 *__buf) ; # 52 "/usr/include/sys/statfs.h" 3 4 extern int fstatfs (int __fildes, struct statfs *__buf) __asm__ ("" "fstatfs64"); extern int fstatfs64 (int __fildes, struct statfs64 *__buf) ; # 5 "/usr/include/sys/vfs.h" 2 3 4 # 294 "include/includes.h" 2 # 317 "include/includes.h" # 1 "/usr/include/sys/statvfs.h" 1 3 4 # 26 "/usr/include/sys/statvfs.h" 3 4 # 1 "/usr/include/bits/statvfs.h" 1 3 4 # 29 "/usr/include/bits/statvfs.h" 3 4 struct statvfs { unsigned long int f_bsize; unsigned long int f_frsize; # 41 "/usr/include/bits/statvfs.h" 3 4 __fsblkcnt64_t f_blocks; __fsblkcnt64_t f_bfree; __fsblkcnt64_t f_bavail; __fsfilcnt64_t f_files; __fsfilcnt64_t f_ffree; __fsfilcnt64_t f_favail; unsigned long int f_fsid; int __f_unused; unsigned long int f_flag; unsigned long int f_namemax; int __f_spare[6]; }; struct statvfs64 { unsigned long int f_bsize; unsigned long int f_frsize; __fsblkcnt64_t f_blocks; __fsblkcnt64_t f_bfree; __fsblkcnt64_t f_bavail; __fsfilcnt64_t f_files; __fsfilcnt64_t f_ffree; __fsfilcnt64_t f_favail; unsigned long int f_fsid; int __f_unused; unsigned long int f_flag; unsigned long int f_namemax; int __f_spare[6]; }; enum { ST_RDONLY = 1, ST_NOSUID = 2 , ST_NODEV = 4, ST_NOEXEC = 8, ST_SYNCHRONOUS = 16, ST_MANDLOCK = 64, ST_WRITE = 128, ST_APPEND = 256, ST_IMMUTABLE = 512, ST_NOATIME = 1024, ST_NODIRATIME = 2048 }; # 27 "/usr/include/sys/statvfs.h" 2 3 4 # 48 "/usr/include/sys/statvfs.h" 3 4 extern int statvfs (__const char *__restrict __file, struct statvfs *__restrict __buf) __asm__ ("" "statvfs64"); # 65 "/usr/include/sys/statvfs.h" 3 4 extern int statvfs64 (__const char *__restrict __file, struct statvfs64 *__restrict __buf) ; # 75 "/usr/include/sys/statvfs.h" 3 4 extern int fstatvfs (int __fildes, struct statvfs *__buf) __asm__ ("" "fstatvfs64"); extern int fstatvfs64 (int __fildes, struct statvfs64 *__buf) ; # 318 "include/includes.h" 2 # 1 "/usr/include/shadow.h" 1 3 4 # 26 "/usr/include/shadow.h" 3 4 # 1 "/usr/include/paths.h" 1 3 4 # 27 "/usr/include/shadow.h" 2 3 4 # 1 "/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.1/include/stddef.h" 1 3 4 # 32 "/usr/include/shadow.h" 2 3 4 struct spwd { char *sp_namp; char *sp_pwdp; long int sp_lstchg; long int sp_min; long int sp_max; long int sp_warn; long int sp_inact; long int sp_expire; unsigned long int sp_flag; }; # 63 "/usr/include/shadow.h" 3 4 extern void setspent (void); extern void endspent (void); extern struct spwd *getspent (void); extern struct spwd *getspnam (__const char *__name); extern struct spwd *sgetspent (__const char *__string); extern struct spwd *fgetspent (FILE *__stream); extern int putspent (__const struct spwd *__p, FILE *__stream); # 121 "/usr/include/shadow.h" 3 4 extern int getspent_r (struct spwd *__result_buf, char *__buffer, size_t __buflen, struct spwd **__result); extern int getspnam_r (__const char *__name, struct spwd *__result_buf, char *__buffer, size_t __buflen, struct spwd **__result); extern int sgetspent_r (__const char *__string, struct spwd *__result_buf, char *__buffer, size_t __buflen, struct spwd **__result); extern int fgetspent_r (FILE *__stream, struct spwd *__result_buf, char *__buffer, size_t __buflen, struct spwd **__result); extern int lckpwdf (void) ; extern int ulckpwdf (void) ; # 322 "include/includes.h" 2 # 341 "include/includes.h" # 1 "/usr/include/stropts.h" 1 3 4 # 24 "/usr/include/stropts.h" 3 4 # 1 "/usr/include/bits/xtitypes.h" 1 3 4 # 30 "/usr/include/bits/xtitypes.h" 3 4 typedef long int __t_scalar_t; typedef unsigned long int __t_uscalar_t; # 25 "/usr/include/stropts.h" 2 3 4 # 36 "/usr/include/stropts.h" 3 4 typedef __t_uscalar_t t_uscalar_t; # 1 "/usr/include/bits/stropts.h" 1 3 4 # 174 "/usr/include/bits/stropts.h" 3 4 struct bandinfo { unsigned char bi_pri; int bi_flag; }; struct strbuf { int maxlen; int len; char *buf; }; struct strpeek { struct strbuf ctlbuf; struct strbuf databuf; t_uscalar_t flags; }; struct strfdinsert { struct strbuf ctlbuf; struct strbuf databuf; t_uscalar_t flags; int fildes; int offset; }; struct strioctl { int ic_cmd; int ic_timout; int ic_len; char *ic_dp; }; struct strrecvfd { int fd; uid_t uid; gid_t gid; char __fill[8]; }; struct str_mlist { char l_name[8 + 1]; }; struct str_list { int sl_nmods; struct str_mlist *sl_modlist; }; # 40 "/usr/include/stropts.h" 2 3 4 extern int isastream (int __fildes) ; extern int getmsg (int __fildes, struct strbuf *__restrict __ctlptr, struct strbuf *__restrict __dataptr, int *__restrict __flagsp); extern int getpmsg (int __fildes, struct strbuf *__restrict __ctlptr, struct strbuf *__restrict __dataptr, int *__restrict __bandp, int *__restrict __flagsp); extern int ioctl (int __fd, unsigned long int __request, ...) ; extern int putmsg (int __fildes, __const struct strbuf *__ctlptr, __const struct strbuf *__dataptr, int __flags); extern int putpmsg (int __fildes, __const struct strbuf *__ctlptr, __const struct strbuf *__dataptr, int __band, int __flags); extern int fattach (int __fildes, __const char *__path) ; extern int fdetach (__const char *__path) ; # 342 "include/includes.h" 2 # 1 "/usr/include/poll.h" 1 3 4 # 1 "/usr/include/sys/poll.h" 1 3 4 # 26 "/usr/include/sys/poll.h" 3 4 # 1 "/usr/include/bits/poll.h" 1 3 4 # 27 "/usr/include/sys/poll.h" 2 3 4 typedef unsigned long int nfds_t; struct pollfd { int fd; short int events; short int revents; }; extern int poll (struct pollfd *__fds, nfds_t __nfds, int __timeout) ; # 2 "/usr/include/poll.h" 2 3 4 # 346 "include/includes.h" 2 # 1 "/usr/include/execinfo.h" 1 3 4 # 24 "/usr/include/execinfo.h" 3 4 extern int backtrace (void **__array, int __size) ; extern char **backtrace_symbols (void *__const *__array, int __size) ; extern void backtrace_symbols_fd (void *__const *__array, int __size, int __fd) ; # 350 "include/includes.h" 2 # 359 "include/includes.h" # 1 "/usr/include/sys/capability.h" 1 3 4 # 35 "/usr/include/sys/capability.h" 3 4 # 1 "/usr/include/linux/capability.h" 1 3 4 # 16 "/usr/include/linux/capability.h" 3 4 # 1 "/usr/include/linux/types.h" 1 3 4 # 1 "/usr/include/linux/posix_types.h" 1 3 4 # 1 "/usr/include/linux/stddef.h" 1 3 4 # 5 "/usr/include/linux/posix_types.h" 2 3 4 # 36 "/usr/include/linux/posix_types.h" 3 4 typedef struct { unsigned long fds_bits [(1024/(8 * sizeof(unsigned long)))]; } __kernel_fd_set; typedef void (*__kernel_sighandler_t)(int); typedef int __kernel_key_t; # 1 "/usr/include/asm/posix_types.h" 1 3 4 # 10 "/usr/include/asm/posix_types.h" 3 4 typedef unsigned short __kernel_dev_t; typedef unsigned long __kernel_ino_t; typedef unsigned short __kernel_mode_t; typedef unsigned short __kernel_nlink_t; typedef long __kernel_off_t; typedef int __kernel_pid_t; typedef unsigned short __kernel_ipc_pid_t; typedef unsigned short __kernel_uid_t; typedef unsigned short __kernel_gid_t; typedef unsigned int __kernel_size_t; typedef int __kernel_ssize_t; typedef int __kernel_ptrdiff_t; typedef long __kernel_time_t; typedef long __kernel_suseconds_t; typedef long __kernel_clock_t; typedef int __kernel_daddr_t; typedef char * __kernel_caddr_t; typedef unsigned short __kernel_uid16_t; typedef unsigned short __kernel_gid16_t; typedef unsigned int __kernel_uid32_t; typedef unsigned int __kernel_gid32_t; typedef unsigned short __kernel_old_uid_t; typedef unsigned short __kernel_old_gid_t; typedef long long __kernel_loff_t; typedef struct { int __val[2]; } __kernel_fsid_t; # 47 "/usr/include/linux/posix_types.h" 2 3 4 # 9 "/usr/include/linux/types.h" 2 3 4 # 1 "/usr/include/asm/types.h" 1 3 4 typedef unsigned short umode_t; typedef __signed__ char __s8; typedef unsigned char __u8; typedef __signed__ short __s16; typedef unsigned short __u16; typedef __signed__ int __s32; typedef unsigned int __u32; typedef __signed__ long long __s64; typedef unsigned long long __u64; # 10 "/usr/include/linux/types.h" 2 3 4 # 123 "/usr/include/linux/types.h" 3 4 struct ustat { __kernel_daddr_t f_tfree; __kernel_ino_t f_tinode; char f_fname[6]; char f_fpack[6]; }; # 17 "/usr/include/linux/capability.h" 2 3 4 # 1 "/usr/include/linux/fs.h" 1 3 4 # 9 "/usr/include/linux/fs.h" 3 4 # 1 "/usr/include/linux/config.h" 1 3 4 # 1 "/usr/include/linux/autoconf.h" 1 3 4 # 5 "/usr/include/linux/config.h" 2 3 4 # 10 "/usr/include/linux/fs.h" 2 3 4 # 1 "/usr/include/linux/linkage.h" 1 3 4 # 11 "/usr/include/linux/fs.h" 2 3 4 # 1 "/usr/include/linux/wait.h" 1 3 4 # 13 "/usr/include/linux/fs.h" 2 3 4 # 1 "/usr/include/linux/vfs.h" 1 3 4 # 1 "/usr/include/asm/statfs.h" 1 3 4 # 5 "/usr/include/linux/vfs.h" 2 3 4 # 15 "/usr/include/linux/fs.h" 2 3 4 # 1 "/usr/include/linux/net.h" 1 3 4 # 22 "/usr/include/linux/net.h" 3 4 # 1 "/usr/include/linux/socket.h" 1 3 4 # 23 "/usr/include/linux/net.h" 2 3 4 struct poll_table_struct; # 49 "/usr/include/linux/net.h" 3 4 typedef enum { SS_FREE = 0, SS_UNCONNECTED, SS_CONNECTING, SS_CONNECTED, SS_DISCONNECTING } socket_state; # 16 "/usr/include/linux/fs.h" 2 3 4 # 1 "/usr/include/linux/kdev_t.h" 1 3 4 # 17 "/usr/include/linux/fs.h" 2 3 4 # 1 "/usr/include/linux/ioctl.h" 1 3 4 # 18 "/usr/include/linux/fs.h" 2 3 4 # 1 "/usr/include/linux/list.h" 1 3 4 # 19 "/usr/include/linux/fs.h" 2 3 4 # 1 "/usr/include/linux/dcache.h" 1 3 4 # 20 "/usr/include/linux/fs.h" 2 3 4 # 1 "/usr/include/linux/stat.h" 1 3 4 # 21 "/usr/include/linux/fs.h" 2 3 4 # 1 "/usr/include/linux/cache.h" 1 3 4 # 1 "/usr/include/asm/cache.h" 1 3 4 # 6 "/usr/include/linux/cache.h" 2 3 4 # 22 "/usr/include/linux/fs.h" 2 3 4 # 1 "/usr/include/linux/string.h" 1 3 4 # 24 "/usr/include/linux/fs.h" 2 3 4 # 1 "/usr/include/asm/atomic.h" 1 3 4 # 22 "/usr/include/asm/atomic.h" 3 4 typedef struct { volatile int counter; } atomic_t; # 53 "/usr/include/asm/atomic.h" 3 4 static __inline__ void atomic_add(int i, atomic_t *v) { __asm__ __volatile__( "lock ; " "addl %1,%0" :"=m" (v->counter) :"ir" (i), "m" (v->counter)); } # 69 "/usr/include/asm/atomic.h" 3 4 static __inline__ void atomic_sub(int i, atomic_t *v) { __asm__ __volatile__( "lock ; " "subl %1,%0" :"=m" (v->counter) :"ir" (i), "m" (v->counter)); } # 87 "/usr/include/asm/atomic.h" 3 4 static __inline__ int atomic_sub_and_test(int i, atomic_t *v) { unsigned char c; __asm__ __volatile__( "lock ; " "subl %2,%0; sete %1" :"=m" (v->counter), "=qm" (c) :"ir" (i), "m" (v->counter) : "memory"); return c; } # 105 "/usr/include/asm/atomic.h" 3 4 static __inline__ void atomic_inc(atomic_t *v) { __asm__ __volatile__( "lock ; " "incl %0" :"=m" (v->counter) :"m" (v->counter)); } # 120 "/usr/include/asm/atomic.h" 3 4 static __inline__ void atomic_dec(atomic_t *v) { __asm__ __volatile__( "lock ; " "decl %0" :"=m" (v->counter) :"m" (v->counter)); } # 137 "/usr/include/asm/atomic.h" 3 4 static __inline__ int atomic_dec_and_test(atomic_t *v) { unsigned char c; __asm__ __volatile__( "lock ; " "decl %0; sete %1" :"=m" (v->counter), "=qm" (c) :"m" (v->counter) : "memory"); return c != 0; } # 157 "/usr/include/asm/atomic.h" 3 4 static __inline__ int atomic_inc_and_test(atomic_t *v) { unsigned char c; __asm__ __volatile__( "lock ; " "incl %0; sete %1" :"=m" (v->counter), "=qm" (c) :"m" (v->counter) : "memory"); return c != 0; } # 178 "/usr/include/asm/atomic.h" 3 4 static __inline__ int atomic_add_negative(int i, atomic_t *v) { unsigned char c; __asm__ __volatile__( "lock ; " "addl %2,%0; sets %1" :"=m" (v->counter), "=qm" (c) :"ir" (i), "m" (v->counter) : "memory"); return c; } # 26 "/usr/include/linux/fs.h" 2 3 4 # 1 "/usr/include/asm/bitops.h" 1 3 4 # 36 "/usr/include/asm/bitops.h" 3 4 static __inline__ void set_bit(int nr, volatile void * addr) { __asm__ __volatile__( "lock ; " "btsl %1,%0" :"=m" ((*(volatile long *) addr)) :"Ir" (nr)); } # 53 "/usr/include/asm/bitops.h" 3 4 static __inline__ void __set_bit(int nr, volatile void * addr) { __asm__( "btsl %1,%0" :"=m" ((*(volatile long *) addr)) :"Ir" (nr)); } # 71 "/usr/include/asm/bitops.h" 3 4 static __inline__ void clear_bit(int nr, volatile void * addr) { __asm__ __volatile__( "lock ; " "btrl %1,%0" :"=m" ((*(volatile long *) addr)) :"Ir" (nr)); } # 90 "/usr/include/asm/bitops.h" 3 4 static __inline__ void __change_bit(int nr, volatile void * addr) { __asm__ __volatile__( "btcl %1,%0" :"=m" ((*(volatile long *) addr)) :"Ir" (nr)); } # 107 "/usr/include/asm/bitops.h" 3 4 static __inline__ void change_bit(int nr, volatile void * addr) { __asm__ __volatile__( "lock ; " "btcl %1,%0" :"=m" ((*(volatile long *) addr)) :"Ir" (nr)); } # 123 "/usr/include/asm/bitops.h" 3 4 static __inline__ int test_and_set_bit(int nr, volatile void * addr) { int oldbit; __asm__ __volatile__( "lock ; " "btsl %2,%1\n\tsbbl %0,%0" :"=r" (oldbit),"=m" ((*(volatile long *) addr)) :"Ir" (nr) : "memory"); return oldbit; } # 143 "/usr/include/asm/bitops.h" 3 4 static __inline__ int __test_and_set_bit(int nr, volatile void * addr) { int oldbit; __asm__( "btsl %2,%1\n\tsbbl %0,%0" :"=r" (oldbit),"=m" ((*(volatile long *) addr)) :"Ir" (nr)); return oldbit; } # 162 "/usr/include/asm/bitops.h" 3 4 static __inline__ int test_and_clear_bit(int nr, volatile void * addr) { int oldbit; __asm__ __volatile__( "lock ; " "btrl %2,%1\n\tsbbl %0,%0" :"=r" (oldbit),"=m" ((*(volatile long *) addr)) :"Ir" (nr) : "memory"); return oldbit; } # 182 "/usr/include/asm/bitops.h" 3 4 static __inline__ int __test_and_clear_bit(int nr, volatile void * addr) { int oldbit; __asm__( "btrl %2,%1\n\tsbbl %0,%0" :"=r" (oldbit),"=m" ((*(volatile long *) addr)) :"Ir" (nr)); return oldbit; } static __inline__ int __test_and_change_bit(int nr, volatile void * addr) { int oldbit; __asm__ __volatile__( "btcl %2,%1\n\tsbbl %0,%0" :"=r" (oldbit),"=m" ((*(volatile long *) addr)) :"Ir" (nr) : "memory"); return oldbit; } # 213 "/usr/include/asm/bitops.h" 3 4 static __inline__ int test_and_change_bit(int nr, volatile void * addr) { int oldbit; __asm__ __volatile__( "lock ; " "btcl %2,%1\n\tsbbl %0,%0" :"=r" (oldbit),"=m" ((*(volatile long *) addr)) :"Ir" (nr) : "memory"); return oldbit; } # 233 "/usr/include/asm/bitops.h" 3 4 static __inline__ int constant_test_bit(int nr, const volatile void * addr) { return ((1UL << (nr & 31)) & (((const volatile unsigned int *) addr)[nr >> 5])) != 0; } static __inline__ int variable_test_bit(int nr, volatile void * addr) { int oldbit; __asm__ __volatile__( "btl %2,%1\n\tsbbl %0,%0" :"=r" (oldbit) :"m" ((*(volatile long *) addr)),"Ir" (nr)); return oldbit; } # 262 "/usr/include/asm/bitops.h" 3 4 static __inline__ int find_first_zero_bit(void * addr, unsigned size) { int d0, d1, d2; int res; if (!size) return 0; __asm__ __volatile__( "movl $-1,%%eax\n\t" "xorl %%edx,%%edx\n\t" "repe; scasl\n\t" "je 1f\n\t" "xorl -4(%%edi),%%eax\n\t" "subl $4,%%edi\n\t" "bsfl %%eax,%%edx\n" "1:\tsubl %%ebx,%%edi\n\t" "shll $3,%%edi\n\t" "addl %%edi,%%edx" :"=d" (res), "=&c" (d0), "=&D" (d1), "=&a" (d2) :"1" ((size + 31) >> 5), "2" (addr), "b" (addr)); return res; } static __inline__ int find_next_zero_bit (void * addr, int size, int offset) { unsigned long * p = ((unsigned long *) addr) + (offset >> 5); int set = 0, bit = offset & 31, res; if (bit) { __asm__("bsfl %1,%0\n\t" "jne 1f\n\t" "movl $32, %0\n" "1:" : "=r" (set) : "r" (~(*p >> bit))); if (set < (32 - bit)) return set + offset; set = 32 - bit; p++; } res = find_first_zero_bit (p, size - 32 * (p - (unsigned long *) addr)); return (offset + set + res); } static __inline__ unsigned long ffz(unsigned long word) { __asm__("bsfl %1,%0" :"=r" (word) :"r" (~word)); return word; } # 27 "/usr/include/linux/fs.h" 2 3 4 struct poll_table_struct; # 50 "/usr/include/linux/fs.h" 3 4 struct files_stat_struct { int nr_files; int nr_free_files; int max_files; }; extern struct files_stat_struct files_stat; struct inodes_stat_t { int nr_inodes; int nr_unused; int dummy[5]; }; extern struct inodes_stat_t inodes_stat; extern int leases_enable, dir_notify_enable, lease_break_time; # 18 "/usr/include/linux/capability.h" 2 3 4 # 32 "/usr/include/linux/capability.h" 3 4 typedef struct __user_cap_header_struct { __u32 version; int pid; } *cap_user_header_t; typedef struct __user_cap_data_struct { __u32 effective; __u32 permitted; __u32 inheritable; } *cap_user_data_t; # 36 "/usr/include/sys/capability.h" 2 3 4 # 46 "/usr/include/sys/capability.h" 3 4 typedef struct _cap_struct *cap_t; typedef int cap_value_t; typedef enum { CAP_EFFECTIVE=0, CAP_PERMITTED=1, CAP_INHERITABLE=2 } cap_flag_t; typedef enum { CAP_CLEAR=0, CAP_SET=1 } cap_flag_value_t; cap_t cap_dup(cap_t); int cap_free(void *); cap_t cap_init(void); int cap_get_flag(cap_t, cap_value_t, cap_flag_t, cap_flag_value_t *); int cap_set_flag(cap_t, cap_flag_t, int, cap_value_t *, cap_flag_value_t); int cap_clear(cap_t); cap_t cap_get_fd(int); cap_t cap_get_file(const char *); int cap_set_fd(int, cap_t); int cap_set_file(const char *, cap_t); cap_t cap_get_proc(void); int cap_set_proc(cap_t); ssize_t cap_size(cap_t); ssize_t cap_copy_ext(void *, cap_t, ssize_t); cap_t cap_copy_int(const void *); cap_t cap_from_text(const char *); char * cap_to_text(cap_t, ssize_t *); # 360 "include/includes.h" 2 # 375 "include/includes.h" # 1 "/usr/include/rpc/rpc.h" 1 3 4 # 41 "/usr/include/rpc/rpc.h" 3 4 # 1 "/usr/include/rpc/types.h" 1 3 4 # 36 "/usr/include/rpc/types.h" 3 4 typedef int bool_t; typedef int enum_t; typedef unsigned long rpcprog_t; typedef unsigned long rpcvers_t; typedef unsigned long rpcproc_t; typedef unsigned long rpcprot_t; typedef unsigned long rpcport_t; # 42 "/usr/include/rpc/rpc.h" 2 3 4 # 1 "/usr/include/rpc/xdr.h" 1 3 4 # 46 "/usr/include/rpc/xdr.h" 3 4 # 83 "/usr/include/rpc/xdr.h" 3 4 enum xdr_op { XDR_ENCODE = 0, XDR_DECODE = 1, XDR_FREE = 2 }; # 111 "/usr/include/rpc/xdr.h" 3 4 typedef struct XDR XDR; struct XDR { enum xdr_op x_op; struct xdr_ops { bool_t (*x_getlong) (XDR *__xdrs, long *__lp); bool_t (*x_putlong) (XDR *__xdrs, __const long *__lp); bool_t (*x_getbytes) (XDR *__xdrs, caddr_t __addr, u_int __len); bool_t (*x_putbytes) (XDR *__xdrs, __const char *__addr, u_int __len); u_int (*x_getpostn) (__const XDR *__xdrs); bool_t (*x_setpostn) (XDR *__xdrs, u_int __pos); int32_t *(*x_inline) (XDR *__xdrs, u_int __len); void (*x_destroy) (XDR *__xdrs); bool_t (*x_getint32) (XDR *__xdrs, int32_t *__ip); bool_t (*x_putint32) (XDR *__xdrs, __const int32_t *__ip); } *x_ops; caddr_t x_public; caddr_t x_private; caddr_t x_base; u_int x_handy; }; # 154 "/usr/include/rpc/xdr.h" 3 4 typedef bool_t (*xdrproc_t) (XDR *, void *,...); # 234 "/usr/include/rpc/xdr.h" 3 4 struct xdr_discrim { int value; xdrproc_t proc; }; # 289 "/usr/include/rpc/xdr.h" 3 4 extern bool_t xdr_void (void) ; extern bool_t xdr_short (XDR *__xdrs, short *__sp) ; extern bool_t xdr_u_short (XDR *__xdrs, u_short *__usp) ; extern bool_t xdr_int (XDR *__xdrs, int *__ip) ; extern bool_t xdr_u_int (XDR *__xdrs, u_int *__up) ; extern bool_t xdr_long (XDR *__xdrs, long *__lp) ; extern bool_t xdr_u_long (XDR *__xdrs, u_long *__ulp) ; extern bool_t xdr_hyper (XDR *__xdrs, quad_t *__llp) ; extern bool_t xdr_u_hyper (XDR *__xdrs, u_quad_t *__ullp) ; extern bool_t xdr_longlong_t (XDR *__xdrs, quad_t *__llp) ; extern bool_t xdr_u_longlong_t (XDR *__xdrs, u_quad_t *__ullp) ; extern bool_t xdr_int8_t (XDR *__xdrs, int8_t *__ip) ; extern bool_t xdr_uint8_t (XDR *__xdrs, uint8_t *__up) ; extern bool_t xdr_int16_t (XDR *__xdrs, int16_t *__ip) ; extern bool_t xdr_uint16_t (XDR *__xdrs, uint16_t *__up) ; extern bool_t xdr_int32_t (XDR *__xdrs, int32_t *__ip) ; extern bool_t xdr_uint32_t (XDR *__xdrs, uint32_t *__up) ; extern bool_t xdr_int64_t (XDR *__xdrs, int64_t *__ip) ; extern bool_t xdr_uint64_t (XDR *__xdrs, uint64_t *__up) ; extern bool_t xdr_bool (XDR *__xdrs, bool_t *__bp) ; extern bool_t xdr_enum (XDR *__xdrs, enum_t *__ep) ; extern bool_t xdr_array (XDR * _xdrs, caddr_t *__addrp, u_int *__sizep, u_int __maxsize, u_int __elsize, xdrproc_t __elproc) ; extern bool_t xdr_bytes (XDR *__xdrs, char **__cpp, u_int *__sizep, u_int __maxsize) ; extern bool_t xdr_opaque (XDR *__xdrs, caddr_t __cp, u_int __cnt) ; extern bool_t xdr_string (XDR *__xdrs, char **__cpp, u_int __maxsize) ; extern bool_t xdr_union (XDR *__xdrs, enum_t *__dscmp, char *__unp, __const struct xdr_discrim *__choices, xdrproc_t dfault) ; extern bool_t xdr_char (XDR *__xdrs, char *__cp) ; extern bool_t xdr_u_char (XDR *__xdrs, u_char *__cp) ; extern bool_t xdr_vector (XDR *__xdrs, char *__basep, u_int __nelem, u_int __elemsize, xdrproc_t __xdr_elem) ; extern bool_t xdr_float (XDR *__xdrs, float *__fp) ; extern bool_t xdr_double (XDR *__xdrs, double *__dp) ; extern bool_t xdr_reference (XDR *__xdrs, caddr_t *__xpp, u_int __size, xdrproc_t __proc) ; extern bool_t xdr_pointer (XDR *__xdrs, char **__objpp, u_int __obj_size, xdrproc_t __xdr_obj) ; extern bool_t xdr_wrapstring (XDR *__xdrs, char **__cpp) ; extern u_long xdr_sizeof (xdrproc_t, void *) ; struct netobj { u_int n_len; char *n_bytes; }; typedef struct netobj netobj; extern bool_t xdr_netobj (XDR *__xdrs, struct netobj *__np) ; extern void xdrmem_create (XDR *__xdrs, __const caddr_t __addr, u_int __size, enum xdr_op __xop) ; extern void xdrstdio_create (XDR *__xdrs, FILE *__file, enum xdr_op __xop) ; extern void xdrrec_create (XDR *__xdrs, u_int __sendsize, u_int __recvsize, caddr_t __tcp_handle, int (*__readit) (char *, char *, int), int (*__writeit) (char *, char *, int)) ; extern bool_t xdrrec_endofrecord (XDR *__xdrs, bool_t __sendnow) ; extern bool_t xdrrec_skiprecord (XDR *__xdrs) ; extern bool_t xdrrec_eof (XDR *__xdrs) ; extern void xdr_free (xdrproc_t __proc, char *__objp) ; # 46 "/usr/include/rpc/rpc.h" 2 3 4 # 1 "/usr/include/rpc/auth.h" 1 3 4 # 47 "/usr/include/rpc/auth.h" 3 4 enum auth_stat { AUTH_OK=0, AUTH_BADCRED=1, AUTH_REJECTEDCRED=2, AUTH_BADVERF=3, AUTH_REJECTEDVERF=4, AUTH_TOOWEAK=5, AUTH_INVALIDRESP=6, AUTH_FAILED=7 }; union des_block { struct { u_int32_t high; u_int32_t low; } key; char c[8]; }; typedef union des_block des_block; extern bool_t xdr_des_block (XDR *__xdrs, des_block *__blkp) ; struct opaque_auth { enum_t oa_flavor; caddr_t oa_base; u_int oa_length; }; typedef struct AUTH AUTH; struct AUTH { struct opaque_auth ah_cred; struct opaque_auth ah_verf; union des_block ah_key; struct auth_ops { void (*ah_nextverf) (AUTH *); int (*ah_marshal) (AUTH *, XDR *); int (*ah_validate) (AUTH *, struct opaque_auth *); int (*ah_refresh) (AUTH *); void (*ah_destroy) (AUTH *); } *ah_ops; caddr_t ah_private; }; # 145 "/usr/include/rpc/auth.h" 3 4 extern struct opaque_auth _null_auth; # 161 "/usr/include/rpc/auth.h" 3 4 extern AUTH *authunix_create (char *__machname, __uid_t __uid, __gid_t __gid, int __len, __gid_t *__aup_gids); extern AUTH *authunix_create_default (void); extern AUTH *authnone_create (void) ; extern AUTH *authdes_create (const char *__servername, u_int __window, struct sockaddr *__syncaddr, des_block *__ckey) ; extern AUTH *authdes_pk_create (const char *, netobj *, u_int, struct sockaddr *, des_block *) ; # 185 "/usr/include/rpc/auth.h" 3 4 extern int getnetname (char *) ; extern int host2netname (char *, __const char *, __const char *) ; extern int user2netname (char *, __const uid_t, __const char *) ; extern int netname2user (__const char *, uid_t *, gid_t *, int *, gid_t *) ; extern int netname2host (__const char *, char *, __const int) ; extern int key_decryptsession (char *, des_block *); extern int key_decryptsession_pk (char *, netobj *, des_block *); extern int key_encryptsession (char *, des_block *); extern int key_encryptsession_pk (char *, netobj *, des_block *); extern int key_gendes (des_block *); extern int key_setsecret (char *); extern int key_secretkey_is_set (void); extern int key_get_conv (char *, des_block *); extern bool_t xdr_opaque_auth (XDR *, struct opaque_auth *) ; # 49 "/usr/include/rpc/rpc.h" 2 3 4 # 1 "/usr/include/rpc/clnt.h" 1 3 4 # 46 "/usr/include/rpc/clnt.h" 3 4 enum clnt_stat { RPC_SUCCESS=0, RPC_CANTENCODEARGS=1, RPC_CANTDECODERES=2, RPC_CANTSEND=3, RPC_CANTRECV=4, RPC_TIMEDOUT=5, RPC_VERSMISMATCH=6, RPC_AUTHERROR=7, RPC_PROGUNAVAIL=8, RPC_PROGVERSMISMATCH=9, RPC_PROCUNAVAIL=10, RPC_CANTDECODEARGS=11, RPC_SYSTEMERROR=12, RPC_NOBROADCAST = 21, RPC_UNKNOWNHOST=13, RPC_UNKNOWNPROTO=17, RPC_UNKNOWNADDR = 19, RPC_RPCBFAILURE=14, RPC_PROGNOTREGISTERED=15, RPC_N2AXLATEFAILURE = 22, RPC_FAILED=16, RPC_INTR=18, RPC_TLIERROR=20, RPC_UDERROR=23, RPC_INPROGRESS = 24, RPC_STALERACHANDLE = 25 }; struct rpc_err { enum clnt_stat re_status; union { int RE_errno; enum auth_stat RE_why; struct { u_long low; u_long high; } RE_vers; struct { long s1; long s2; } RE_lb; } ru; }; typedef struct CLIENT CLIENT; struct CLIENT { AUTH *cl_auth; struct clnt_ops { enum clnt_stat (*cl_call) (CLIENT *, u_long, xdrproc_t, caddr_t, xdrproc_t, caddr_t, struct timeval); void (*cl_abort) (void); void (*cl_geterr) (CLIENT *, struct rpc_err *); bool_t (*cl_freeres) (CLIENT *, xdrproc_t, caddr_t); void (*cl_destroy) (CLIENT *); bool_t (*cl_control) (CLIENT *, int, char *); } *cl_ops; caddr_t cl_private; }; # 280 "/usr/include/rpc/clnt.h" 3 4 extern CLIENT *clntraw_create (__const u_long __prog, __const u_long __vers) ; # 294 "/usr/include/rpc/clnt.h" 3 4 extern CLIENT *clnt_create (__const char *__host, __const u_long __prog, __const u_long __vers, __const char *__prot) ; # 310 "/usr/include/rpc/clnt.h" 3 4 extern CLIENT *clnttcp_create (struct sockaddr_in *__raddr, u_long __prog, u_long __version, int *__sockp, u_int __sendsz, u_int __recvsz) ; # 335 "/usr/include/rpc/clnt.h" 3 4 extern CLIENT *clntudp_create (struct sockaddr_in *__raddr, u_long __program, u_long __version, struct timeval __wait_resend, int *__sockp) ; extern CLIENT *clntudp_bufcreate (struct sockaddr_in *__raddr, u_long __program, u_long __version, struct timeval __wait_resend, int *__sockp, u_int __sendsz, u_int __recvsz) ; # 357 "/usr/include/rpc/clnt.h" 3 4 extern CLIENT *clntunix_create (struct sockaddr_un *__raddr, u_long __program, u_long __version, int *__sockp, u_int __sendsz, u_int __recvsz) ; extern int callrpc (__const char *__host, __const u_long __prognum, __const u_long __versnum, __const u_long __procnum, __const xdrproc_t __inproc, __const char *__in, __const xdrproc_t __outproc, char *__out) ; extern int _rpc_dtablesize (void) ; extern void clnt_pcreateerror (__const char *__msg); extern char *clnt_spcreateerror(__const char *__msg) ; extern void clnt_perrno (enum clnt_stat __num); extern void clnt_perror (CLIENT *__clnt, __const char *__msg); extern char *clnt_sperror (CLIENT *__clnt, __const char *__msg) ; struct rpc_createerr { enum clnt_stat cf_stat; struct rpc_err cf_error; }; extern struct rpc_createerr rpc_createerr; extern char *clnt_sperrno (enum clnt_stat __num) ; extern int getrpcport (__const char * __host, u_long __prognum, u_long __versnum, u_int proto) ; extern void get_myaddress (struct sockaddr_in *) ; # 52 "/usr/include/rpc/rpc.h" 2 3 4 # 1 "/usr/include/rpc/rpc_msg.h" 1 3 4 # 50 "/usr/include/rpc/rpc_msg.h" 3 4 enum msg_type { CALL=0, REPLY=1 }; enum reply_stat { MSG_ACCEPTED=0, MSG_DENIED=1 }; enum accept_stat { SUCCESS=0, PROG_UNAVAIL=1, PROG_MISMATCH=2, PROC_UNAVAIL=3, GARBAGE_ARGS=4, SYSTEM_ERR=5 }; enum reject_stat { RPC_MISMATCH=0, AUTH_ERROR=1 }; # 91 "/usr/include/rpc/rpc_msg.h" 3 4 struct accepted_reply { struct opaque_auth ar_verf; enum accept_stat ar_stat; union { struct { u_long low; u_long high; } AR_versions; struct { caddr_t where; xdrproc_t proc; } AR_results; } ru; }; struct rejected_reply { enum reject_stat rj_stat; union { struct { u_long low; u_long high; } RJ_versions; enum auth_stat RJ_why; } ru; }; struct reply_body { enum reply_stat rp_stat; union { struct accepted_reply RP_ar; struct rejected_reply RP_dr; } ru; }; struct call_body { u_long cb_rpcvers; u_long cb_prog; u_long cb_vers; u_long cb_proc; struct opaque_auth cb_cred; struct opaque_auth cb_verf; }; struct rpc_msg { u_long rm_xid; enum msg_type rm_direction; union { struct call_body RM_cmb; struct reply_body RM_rmb; } ru; }; # 173 "/usr/include/rpc/rpc_msg.h" 3 4 extern bool_t xdr_callmsg (XDR *__xdrs, struct rpc_msg *__cmsg) ; extern bool_t xdr_callhdr (XDR *__xdrs, struct rpc_msg *__cmsg) ; extern bool_t xdr_replymsg (XDR *__xdrs, struct rpc_msg *__rmsg) ; extern void _seterr_reply (struct rpc_msg *__msg, struct rpc_err *__error) ; # 55 "/usr/include/rpc/rpc.h" 2 3 4 # 1 "/usr/include/rpc/auth_unix.h" 1 3 4 # 54 "/usr/include/rpc/auth_unix.h" 3 4 # 65 "/usr/include/rpc/auth_unix.h" 3 4 struct authunix_parms { u_long aup_time; char *aup_machname; __uid_t aup_uid; __gid_t aup_gid; u_int aup_len; __gid_t *aup_gids; }; extern bool_t xdr_authunix_parms (XDR *__xdrs, struct authunix_parms *__p) ; struct short_hand_verf { struct opaque_auth new_cred; }; # 56 "/usr/include/rpc/rpc.h" 2 3 4 # 1 "/usr/include/rpc/auth_des.h" 1 3 4 # 25 "/usr/include/rpc/auth_des.h" 3 4 enum authdes_namekind { ADN_FULLNAME, ADN_NICKNAME }; struct authdes_fullname { char *name; des_block key; uint32_t window; }; struct authdes_cred { enum authdes_namekind adc_namekind; struct authdes_fullname adc_fullname; uint32_t adc_nickname; }; struct rpc_timeval { uint32_t tv_sec; uint32_t tv_usec; }; struct authdes_verf { union { struct rpc_timeval adv_ctime; des_block adv_xtime; } adv_time_u; uint32_t adv_int_u; }; # 89 "/usr/include/rpc/auth_des.h" 3 4 extern int authdes_getucred (__const struct authdes_cred * __adc, uid_t * __uid, gid_t * __gid, short *__grouplen, gid_t * __groups) ; extern int getpublickey (__const char *__name, char *__key) ; extern int getsecretkey (__const char *__name, char *__key, __const char *__passwd) ; extern int rtime (struct sockaddr_in *__addrp, struct rpc_timeval *__timep, struct rpc_timeval *__timeout) ; # 57 "/usr/include/rpc/rpc.h" 2 3 4 # 1 "/usr/include/rpc/svc.h" 1 3 4 # 42 "/usr/include/rpc/svc.h" 3 4 # 66 "/usr/include/rpc/svc.h" 3 4 enum xprt_stat { XPRT_DIED, XPRT_MOREREQS, XPRT_IDLE }; typedef struct SVCXPRT SVCXPRT; struct SVCXPRT { int xp_sock; u_short xp_port; const struct xp_ops { bool_t (*xp_recv) (SVCXPRT *__xprt, struct rpc_msg *__msg); enum xprt_stat (*xp_stat) (SVCXPRT *__xprt); bool_t (*xp_getargs) (SVCXPRT *__xprt, xdrproc_t __xdr_args, caddr_t args_ptr); bool_t (*xp_reply) (SVCXPRT *__xprt, struct rpc_msg *__msg); bool_t (*xp_freeargs) (SVCXPRT *__xprt, xdrproc_t __xdr_args, caddr_t args_ptr); void (*xp_destroy) (SVCXPRT *__xprt); } *xp_ops; int xp_addrlen; struct sockaddr_in xp_raddr; struct opaque_auth xp_verf; caddr_t xp_p1; caddr_t xp_p2; char xp_pad [256]; }; # 149 "/usr/include/rpc/svc.h" 3 4 struct svc_req { rpcprog_t rq_prog; rpcvers_t rq_vers; rpcproc_t rq_proc; struct opaque_auth rq_cred; caddr_t rq_clntcred; SVCXPRT *rq_xprt; }; typedef void (*__dispatch_fn_t) (struct svc_req*, SVCXPRT*); # 173 "/usr/include/rpc/svc.h" 3 4 extern bool_t svc_register (SVCXPRT *__xprt, rpcprog_t __prog, rpcvers_t __vers, __dispatch_fn_t __dispatch, rpcprot_t __protocol) ; # 184 "/usr/include/rpc/svc.h" 3 4 extern void svc_unregister (rpcprog_t __prog, rpcvers_t __vers) ; extern void xprt_register (SVCXPRT *__xprt) ; extern void xprt_unregister (SVCXPRT *__xprt) ; # 229 "/usr/include/rpc/svc.h" 3 4 extern bool_t svc_sendreply (SVCXPRT *xprt, xdrproc_t __xdr_results, caddr_t __xdr_location) ; extern void svcerr_decode (SVCXPRT *__xprt) ; extern void svcerr_weakauth (SVCXPRT *__xprt) ; extern void svcerr_noproc (SVCXPRT *__xprt) ; extern void svcerr_progvers (SVCXPRT *__xprt, rpcvers_t __low_vers, rpcvers_t __high_vers) ; extern void svcerr_auth (SVCXPRT *__xprt, enum auth_stat __why) ; extern void svcerr_noprog (SVCXPRT *__xprt) ; extern void svcerr_systemerr (SVCXPRT *__xprt) ; # 263 "/usr/include/rpc/svc.h" 3 4 extern struct pollfd *svc_pollfd; extern int svc_max_pollfd; extern fd_set svc_fdset; extern void svc_getreq (int __rdfds) ; extern void svc_getreq_common (const int __fd) ; extern void svc_getreqset (fd_set *__readfds) ; extern void svc_getreq_poll (struct pollfd *, const int) ; extern void svc_exit (void) ; extern void svc_run (void) ; # 291 "/usr/include/rpc/svc.h" 3 4 extern SVCXPRT *svcraw_create (void) ; extern SVCXPRT *svcudp_create (int __sock) ; extern SVCXPRT *svcudp_bufcreate (int __sock, u_int __sendsz, u_int __recvsz) ; extern SVCXPRT *svctcp_create (int __sock, u_int __sendsize, u_int __recvsize) ; extern SVCXPRT *svcunix_create (int __sock, u_int __sendsize, u_int __recvsize, char *__path) ; # 60 "/usr/include/rpc/rpc.h" 2 3 4 # 1 "/usr/include/rpc/svc_auth.h" 1 3 4 # 44 "/usr/include/rpc/svc_auth.h" 3 4 extern enum auth_stat _authenticate (struct svc_req *__rqst, struct rpc_msg *__msg) ; # 61 "/usr/include/rpc/rpc.h" 2 3 4 # 70 "/usr/include/rpc/rpc.h" 3 4 extern fd_set *__rpc_thread_svc_fdset (void) __attribute__ ((__const__)); extern struct rpc_createerr *__rpc_thread_createerr (void) __attribute__ ((__const__)); # 88 "/usr/include/rpc/rpc.h" 3 4 extern struct pollfd **__rpc_thread_svc_pollfd (void) __attribute__ ((__const__)); extern int *__rpc_thread_svc_max_pollfd (void) __attribute__ ((__const__)); # 376 "include/includes.h" 2 # 384 "include/includes.h" # 1 "/usr/include/rpcsvc/yp_prot.h" 1 3 4 # 13 "/usr/include/rpcsvc/yp_prot.h" 3 4 # 1 "/usr/include/rpcsvc/ypclnt.h" 1 3 4 # 51 "/usr/include/rpcsvc/ypclnt.h" 3 4 struct ypall_callback { int (*foreach) (int __status, char *__key, int __keylen, char *__val, int __vallen, char *__data); char *data; }; extern int yp_bind (__const char *) ; extern void yp_unbind (__const char *) ; extern int yp_get_default_domain (char **) ; extern int yp_match (__const char *, __const char *, __const char *, __const int, char **, int *) ; extern int yp_first (__const char *, __const char *, char **, int *, char **, int *) ; extern int yp_next (__const char *, __const char *, __const char *, __const int, char **, int *, char **, int *) ; extern int yp_master (__const char *, __const char *, char **) ; extern int yp_order (__const char *, __const char *, unsigned int *) ; extern int yp_all (__const char *, __const char *, __const struct ypall_callback *) ; extern __const char *yperr_string (__const int) ; extern __const char *ypbinderr_string (__const int) ; extern int ypprot_err (__const int) ; extern int yp_update (char *, char *, unsigned int, char *, int, char *, int) ; extern int __yp_check (char **) ; # 14 "/usr/include/rpcsvc/yp_prot.h" 2 3 4 # 74 "/usr/include/rpcsvc/yp_prot.h" 3 4 typedef struct { u_int keydat_len; char *keydat_val; } keydat_t; typedef struct { u_int valdat_len; char *valdat_val; } valdat_t; struct ypmap_parms { char *domain; char *map; unsigned int ordernum; char *owner; }; struct ypreq_key { const char *domain; const char *map; keydat_t keydat; }; struct ypreq_nokey { char *domain; char *map; }; struct ypreq_xfr { struct ypmap_parms map_parms; u_int transid; u_int proto; u_int port; }; # 120 "/usr/include/rpcsvc/yp_prot.h" 3 4 enum ypstat { YP_TRUE = 1, YP_NOMORE = 2, YP_FALSE = 0, YP_NOMAP = -1, YP_NODOM = -2, YP_NOKEY = -3, YP_BADOP = -4, YP_BADDB = -5, YP_YPERR = -6, YP_BADARGS = -7, YP_VERS = -8, }; typedef enum ypstat ypstat; struct ypresp_val { ypstat status; valdat_t valdat; }; struct ypresp_key_val { ypstat status; # 168 "/usr/include/rpcsvc/yp_prot.h" 3 4 valdat_t valdat; keydat_t keydat; }; struct ypresp_master { ypstat status; char *master; }; struct ypresp_order { ypstat status; u_int ordernum; }; struct ypmaplist { char *map; struct ypmaplist *next; }; struct ypresp_maplist { ypstat status; struct ypmaplist *list; }; # 246 "/usr/include/rpcsvc/yp_prot.h" 3 4 enum ypbind_resptype {YPBIND_SUCC_VAL = 1, YPBIND_FAIL_VAL = 2}; struct ypbind_binding { struct in_addr ypbind_binding_addr; unsigned short int ypbind_binding_port; }; struct ypbind_resp { enum ypbind_resptype ypbind_status; union { u_int ypbind_error; struct ypbind_binding ypbind_bindinfo; } ypbind_respbody; }; # 271 "/usr/include/rpcsvc/yp_prot.h" 3 4 struct ypbind_setdom { char *ypsetdom_domain; struct ypbind_binding ypsetdom_binding; u_int ypsetdom_vers; }; # 295 "/usr/include/rpcsvc/yp_prot.h" 3 4 enum yppush_status { YPPUSH_SUCC = 1, YPPUSH_AGE = 2, YPPUSH_NOMAP = -1, YPPUSH_NODOM = -2, YPPUSH_RSRC = -3, YPPUSH_RPC = -4, YPPUSH_MADDR = -5, YPPUSH_YPERR = -6, YPPUSH_BADARGS = -7, YPPUSH_DBM = -8, YPPUSH_FILE = -9, YPPUSH_SKEW = -10, YPPUSH_CLEAR = -11, YPPUSH_FORCE = -12, YPPUSH_XFRERR = -13, YPPUSH_REFUSED = -14, YPPUSH_NOALIAS = -15 }; typedef enum yppush_status yppush_status; struct yppushresp_xfr { u_int transid; yppush_status status; }; struct ypresp_all { bool_t more; union { struct ypresp_key_val val; } ypresp_all_u; }; extern bool_t xdr_ypreq_key (XDR *__xdrs, struct ypreq_key * __objp); extern bool_t xdr_ypreq_nokey (XDR *__xdrs, struct ypreq_nokey * __objp); extern bool_t xdr_ypreq_xfr (XDR *__xdrs, struct ypreq_xfr * __objp); extern bool_t xdr_ypresp_val (XDR *__xdrs, struct ypresp_val * __objp); extern bool_t xdr_ypresp_key_val (XDR *__xdrs, struct ypresp_key_val * __objp); extern bool_t xdr_ypbind_resp (XDR *__xdrs, struct ypbind_resp * __objp); extern bool_t xdr_ypbind_setdom (XDR *__xdrs, struct ypbind_setdom * __objp); extern bool_t xdr_ypmap_parms (XDR *__xdrs, struct ypmap_parms * __objp); extern bool_t xdr_yppushresp_xfr (XDR *__xdrs, struct yppushresp_xfr * __objp); extern bool_t xdr_ypresp_order (XDR *__xdrs, struct ypresp_order * __objp); extern bool_t xdr_ypresp_master (XDR *__xdrs, struct ypresp_master * __objp); extern bool_t xdr_ypall (XDR *__xdrs, struct ypall_callback * __objp); extern bool_t xdr_ypresp_maplist (XDR *__xdrs, struct ypresp_maplist * __objp); extern bool_t xdr_ypbind_binding (XDR *__xdrs, struct ypbind_binding * __objp); extern bool_t xdr_ypbind_resptype (XDR *__xdrs, enum ypbind_resptype * __objp); extern bool_t xdr_ypstat (XDR *__xdrs, enum ypbind_resptype * __objp); extern bool_t xdr_ypresp_all (XDR *__xdrs, struct ypresp_all * __objp); extern bool_t xdr_domainname (XDR *__xdrs, char ** __objp); # 385 "include/includes.h" 2 # 1 "/usr/include/sys/ipc.h" 1 3 4 # 29 "/usr/include/sys/ipc.h" 3 4 # 1 "/usr/include/bits/ipctypes.h" 1 3 4 # 31 "/usr/include/bits/ipctypes.h" 3 4 typedef unsigned short int __ipc_pid_t; # 30 "/usr/include/sys/ipc.h" 2 3 4 # 1 "/usr/include/bits/ipc.h" 1 3 4 # 43 "/usr/include/bits/ipc.h" 3 4 struct ipc_perm { __key_t __key; __uid_t uid; __gid_t gid; __uid_t cuid; __gid_t cgid; unsigned short int mode; unsigned short int __pad1; unsigned short int __seq; unsigned short int __pad2; unsigned long int __unused1; unsigned long int __unused2; }; # 31 "/usr/include/sys/ipc.h" 2 3 4 # 52 "/usr/include/sys/ipc.h" 3 4 extern key_t ftok (__const char *__pathname, int __proj_id) ; # 393 "include/includes.h" 2 # 1 "/usr/include/sys/shm.h" 1 3 4 # 25 "/usr/include/sys/shm.h" 3 4 # 1 "/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.1/include/stddef.h" 1 3 4 # 26 "/usr/include/sys/shm.h" 2 3 4 # 1 "/usr/include/bits/shm.h" 1 3 4 # 40 "/usr/include/bits/shm.h" 3 4 extern int __getpagesize (void) __attribute__ ((__const__)); typedef unsigned long int shmatt_t; struct shmid_ds { struct ipc_perm shm_perm; size_t shm_segsz; __time_t shm_atime; unsigned long int __unused1; __time_t shm_dtime; unsigned long int __unused2; __time_t shm_ctime; unsigned long int __unused3; __pid_t shm_cpid; __pid_t shm_lpid; shmatt_t shm_nattch; unsigned long int __unused4; unsigned long int __unused5; }; # 75 "/usr/include/bits/shm.h" 3 4 struct shminfo { unsigned long int shmmax; unsigned long int shmmin; unsigned long int shmmni; unsigned long int shmseg; unsigned long int shmall; unsigned long int __unused1; unsigned long int __unused2; unsigned long int __unused3; unsigned long int __unused4; }; struct shm_info { int used_ids; unsigned long int shm_tot; unsigned long int shm_rss; unsigned long int shm_swp; unsigned long int swap_attempts; unsigned long int swap_successes; }; # 32 "/usr/include/sys/shm.h" 2 3 4 # 45 "/usr/include/sys/shm.h" 3 4 extern int shmctl (int __shmid, int __cmd, struct shmid_ds *__buf) ; extern int shmget (key_t __key, size_t __size, int __shmflg) ; extern void *shmat (int __shmid, __const void *__shmaddr, int __shmflg) ; extern int shmdt (__const void *__shmaddr) ; # 397 "include/includes.h" 2 # 1 "/usr/include/iconv.h" 1 3 4 # 24 "/usr/include/iconv.h" 3 4 # 1 "/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.1/include/stddef.h" 1 3 4 # 25 "/usr/include/iconv.h" 2 3 4 typedef void *iconv_t; extern iconv_t iconv_open (__const char *__tocode, __const char *__fromcode); extern size_t iconv (iconv_t __cd, char **__restrict __inbuf, size_t *__restrict __inbytesleft, char **__restrict __outbuf, size_t *__restrict __outbytesleft); extern int iconv_close (iconv_t __cd); # 402 "include/includes.h" 2 # 449 "include/includes.h" # 1 "/usr/include/locale.h" 1 3 4 # 29 "/usr/include/locale.h" 3 4 # 1 "/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.1/include/stddef.h" 1 3 4 # 30 "/usr/include/locale.h" 2 3 4 # 1 "/usr/include/bits/locale.h" 1 3 4 # 27 "/usr/include/bits/locale.h" 3 4 enum { __LC_CTYPE = 0, __LC_NUMERIC = 1, __LC_TIME = 2, __LC_COLLATE = 3, __LC_MONETARY = 4, __LC_MESSAGES = 5, __LC_ALL = 6, __LC_PAPER = 7, __LC_NAME = 8, __LC_ADDRESS = 9, __LC_TELEPHONE = 10, __LC_MEASUREMENT = 11, __LC_IDENTIFICATION = 12 }; # 31 "/usr/include/locale.h" 2 3 4 # 52 "/usr/include/locale.h" 3 4 struct lconv { char *decimal_point; char *thousands_sep; char *grouping; char *int_curr_symbol; char *currency_symbol; char *mon_decimal_point; char *mon_thousands_sep; char *mon_grouping; char *positive_sign; char *negative_sign; char int_frac_digits; char frac_digits; char p_cs_precedes; char p_sep_by_space; char n_cs_precedes; char n_sep_by_space; char p_sign_posn; char n_sign_posn; char int_p_cs_precedes; char int_p_sep_by_space; char int_n_cs_precedes; char int_n_sep_by_space; char int_p_sign_posn; char int_n_sign_posn; # 119 "/usr/include/locale.h" 3 4 }; extern char *setlocale (int __category, __const char *__locale) ; extern struct lconv *localeconv (void) ; # 148 "/usr/include/locale.h" 3 4 typedef __locale_t locale_t; extern __locale_t newlocale (int __category_mask, __const char *__locale, __locale_t __base) ; # 189 "/usr/include/locale.h" 3 4 extern __locale_t duplocale (__locale_t __dataset) ; extern void freelocale (__locale_t __dataset) ; extern __locale_t uselocale (__locale_t __dataset) ; # 450 "include/includes.h" 2 # 1 "/usr/include/langinfo.h" 1 3 4 # 24 "/usr/include/langinfo.h" 3 4 # 1 "/usr/include/nl_types.h" 1 3 4 # 31 "/usr/include/nl_types.h" 3 4 typedef void *nl_catd; typedef int nl_item; extern nl_catd catopen (__const char *__cat_name, int __flag); extern char *catgets (nl_catd __catalog, int __set, int __number, __const char *__string) ; extern int catclose (nl_catd __catalog) ; # 25 "/usr/include/langinfo.h" 2 3 4 # 1 "/usr/include/bits/locale.h" 1 3 4 # 27 "/usr/include/langinfo.h" 2 3 4 # 43 "/usr/include/langinfo.h" 3 4 enum { ABDAY_1 = (((__LC_TIME) << 16) | (0)), ABDAY_2, ABDAY_3, ABDAY_4, ABDAY_5, ABDAY_6, ABDAY_7, DAY_1, DAY_2, DAY_3, DAY_4, DAY_5, DAY_6, DAY_7, ABMON_1, ABMON_2, ABMON_3, ABMON_4, ABMON_5, ABMON_6, ABMON_7, ABMON_8, ABMON_9, ABMON_10, ABMON_11, ABMON_12, MON_1, MON_2, MON_3, MON_4, MON_5, MON_6, MON_7, MON_8, MON_9, MON_10, MON_11, MON_12, AM_STR, PM_STR, D_T_FMT, D_FMT, T_FMT, T_FMT_AMPM, ERA, __ERA_YEAR, ERA_D_FMT, ALT_DIGITS, ERA_D_T_FMT, ERA_T_FMT, _NL_TIME_ERA_NUM_ENTRIES, _NL_TIME_ERA_ENTRIES, _NL_WABDAY_1, _NL_WABDAY_2, _NL_WABDAY_3, _NL_WABDAY_4, _NL_WABDAY_5, _NL_WABDAY_6, _NL_WABDAY_7, _NL_WDAY_1, _NL_WDAY_2, _NL_WDAY_3, _NL_WDAY_4, _NL_WDAY_5, _NL_WDAY_6, _NL_WDAY_7, _NL_WABMON_1, _NL_WABMON_2, _NL_WABMON_3, _NL_WABMON_4, _NL_WABMON_5, _NL_WABMON_6, _NL_WABMON_7, _NL_WABMON_8, _NL_WABMON_9, _NL_WABMON_10, _NL_WABMON_11, _NL_WABMON_12, _NL_WMON_1, _NL_WMON_2, _NL_WMON_3, _NL_WMON_4, _NL_WMON_5, _NL_WMON_6, _NL_WMON_7, _NL_WMON_8, _NL_WMON_9, _NL_WMON_10, _NL_WMON_11, _NL_WMON_12, _NL_WAM_STR, _NL_WPM_STR, _NL_WD_T_FMT, _NL_WD_FMT, _NL_WT_FMT, _NL_WT_FMT_AMPM, _NL_WERA_YEAR, _NL_WERA_D_FMT, _NL_WALT_DIGITS, _NL_WERA_D_T_FMT, _NL_WERA_T_FMT, _NL_TIME_WEEK_NDAYS, _NL_TIME_WEEK_1STDAY, _NL_TIME_WEEK_1STWEEK, _NL_TIME_FIRST_WEEKDAY, _NL_TIME_FIRST_WORKDAY, _NL_TIME_CAL_DIRECTION, _NL_TIME_TIMEZONE, _DATE_FMT, _NL_W_DATE_FMT, _NL_TIME_CODESET, _NL_NUM_LC_TIME, _NL_COLLATE_NRULES = (((__LC_COLLATE) << 16) | (0)), _NL_COLLATE_RULESETS, _NL_COLLATE_TABLEMB, _NL_COLLATE_WEIGHTMB, _NL_COLLATE_EXTRAMB, _NL_COLLATE_INDIRECTMB, _NL_COLLATE_GAP1, _NL_COLLATE_GAP2, _NL_COLLATE_GAP3, _NL_COLLATE_TABLEWC, _NL_COLLATE_WEIGHTWC, _NL_COLLATE_EXTRAWC, _NL_COLLATE_INDIRECTWC, _NL_COLLATE_SYMB_HASH_SIZEMB, _NL_COLLATE_SYMB_TABLEMB, _NL_COLLATE_SYMB_EXTRAMB, _NL_COLLATE_COLLSEQMB, _NL_COLLATE_COLLSEQWC, _NL_COLLATE_CODESET, _NL_NUM_LC_COLLATE, _NL_CTYPE_CLASS = (((__LC_CTYPE) << 16) | (0)), _NL_CTYPE_TOUPPER, _NL_CTYPE_GAP1, _NL_CTYPE_TOLOWER, _NL_CTYPE_GAP2, _NL_CTYPE_CLASS32, _NL_CTYPE_GAP3, _NL_CTYPE_GAP4, _NL_CTYPE_GAP5, _NL_CTYPE_GAP6, _NL_CTYPE_CLASS_NAMES, _NL_CTYPE_MAP_NAMES, _NL_CTYPE_WIDTH, _NL_CTYPE_MB_CUR_MAX, _NL_CTYPE_CODESET_NAME, CODESET = _NL_CTYPE_CODESET_NAME, _NL_CTYPE_TOUPPER32, _NL_CTYPE_TOLOWER32, _NL_CTYPE_CLASS_OFFSET, _NL_CTYPE_MAP_OFFSET, _NL_CTYPE_INDIGITS_MB_LEN, _NL_CTYPE_INDIGITS0_MB, _NL_CTYPE_INDIGITS1_MB, _NL_CTYPE_INDIGITS2_MB, _NL_CTYPE_INDIGITS3_MB, _NL_CTYPE_INDIGITS4_MB, _NL_CTYPE_INDIGITS5_MB, _NL_CTYPE_INDIGITS6_MB, _NL_CTYPE_INDIGITS7_MB, _NL_CTYPE_INDIGITS8_MB, _NL_CTYPE_INDIGITS9_MB, _NL_CTYPE_INDIGITS_WC_LEN, _NL_CTYPE_INDIGITS0_WC, _NL_CTYPE_INDIGITS1_WC, _NL_CTYPE_INDIGITS2_WC, _NL_CTYPE_INDIGITS3_WC, _NL_CTYPE_INDIGITS4_WC, _NL_CTYPE_INDIGITS5_WC, _NL_CTYPE_INDIGITS6_WC, _NL_CTYPE_INDIGITS7_WC, _NL_CTYPE_INDIGITS8_WC, _NL_CTYPE_INDIGITS9_WC, _NL_CTYPE_OUTDIGIT0_MB, _NL_CTYPE_OUTDIGIT1_MB, _NL_CTYPE_OUTDIGIT2_MB, _NL_CTYPE_OUTDIGIT3_MB, _NL_CTYPE_OUTDIGIT4_MB, _NL_CTYPE_OUTDIGIT5_MB, _NL_CTYPE_OUTDIGIT6_MB, _NL_CTYPE_OUTDIGIT7_MB, _NL_CTYPE_OUTDIGIT8_MB, _NL_CTYPE_OUTDIGIT9_MB, _NL_CTYPE_OUTDIGIT0_WC, _NL_CTYPE_OUTDIGIT1_WC, _NL_CTYPE_OUTDIGIT2_WC, _NL_CTYPE_OUTDIGIT3_WC, _NL_CTYPE_OUTDIGIT4_WC, _NL_CTYPE_OUTDIGIT5_WC, _NL_CTYPE_OUTDIGIT6_WC, _NL_CTYPE_OUTDIGIT7_WC, _NL_CTYPE_OUTDIGIT8_WC, _NL_CTYPE_OUTDIGIT9_WC, _NL_CTYPE_TRANSLIT_TAB_SIZE, _NL_CTYPE_TRANSLIT_FROM_IDX, _NL_CTYPE_TRANSLIT_FROM_TBL, _NL_CTYPE_TRANSLIT_TO_IDX, _NL_CTYPE_TRANSLIT_TO_TBL, _NL_CTYPE_TRANSLIT_DEFAULT_MISSING_LEN, _NL_CTYPE_TRANSLIT_DEFAULT_MISSING, _NL_CTYPE_TRANSLIT_IGNORE_LEN, _NL_CTYPE_TRANSLIT_IGNORE, _NL_CTYPE_EXTRA_MAP_1, _NL_CTYPE_EXTRA_MAP_2, _NL_CTYPE_EXTRA_MAP_3, _NL_CTYPE_EXTRA_MAP_4, _NL_CTYPE_EXTRA_MAP_5, _NL_CTYPE_EXTRA_MAP_6, _NL_CTYPE_EXTRA_MAP_7, _NL_CTYPE_EXTRA_MAP_8, _NL_CTYPE_EXTRA_MAP_9, _NL_CTYPE_EXTRA_MAP_10, _NL_CTYPE_EXTRA_MAP_11, _NL_CTYPE_EXTRA_MAP_12, _NL_CTYPE_EXTRA_MAP_13, _NL_CTYPE_EXTRA_MAP_14, _NL_NUM_LC_CTYPE, __INT_CURR_SYMBOL = (((__LC_MONETARY) << 16) | (0)), __CURRENCY_SYMBOL, __MON_DECIMAL_POINT, __MON_THOUSANDS_SEP, __MON_GROUPING, __POSITIVE_SIGN, __NEGATIVE_SIGN, __INT_FRAC_DIGITS, __FRAC_DIGITS, __P_CS_PRECEDES, __P_SEP_BY_SPACE, __N_CS_PRECEDES, __N_SEP_BY_SPACE, __P_SIGN_POSN, __N_SIGN_POSN, _NL_MONETARY_CRNCYSTR, __INT_P_CS_PRECEDES, __INT_P_SEP_BY_SPACE, __INT_N_CS_PRECEDES, __INT_N_SEP_BY_SPACE, __INT_P_SIGN_POSN, __INT_N_SIGN_POSN, _NL_MONETARY_DUO_INT_CURR_SYMBOL, _NL_MONETARY_DUO_CURRENCY_SYMBOL, _NL_MONETARY_DUO_INT_FRAC_DIGITS, _NL_MONETARY_DUO_FRAC_DIGITS, _NL_MONETARY_DUO_P_CS_PRECEDES, _NL_MONETARY_DUO_P_SEP_BY_SPACE, _NL_MONETARY_DUO_N_CS_PRECEDES, _NL_MONETARY_DUO_N_SEP_BY_SPACE, _NL_MONETARY_DUO_INT_P_CS_PRECEDES, _NL_MONETARY_DUO_INT_P_SEP_BY_SPACE, _NL_MONETARY_DUO_INT_N_CS_PRECEDES, _NL_MONETARY_DUO_INT_N_SEP_BY_SPACE, _NL_MONETARY_DUO_P_SIGN_POSN, _NL_MONETARY_DUO_N_SIGN_POSN, _NL_MONETARY_DUO_INT_P_SIGN_POSN, _NL_MONETARY_DUO_INT_N_SIGN_POSN, _NL_MONETARY_UNO_VALID_FROM, _NL_MONETARY_UNO_VALID_TO, _NL_MONETARY_DUO_VALID_FROM, _NL_MONETARY_DUO_VALID_TO, _NL_MONETARY_CONVERSION_RATE, _NL_MONETARY_DECIMAL_POINT_WC, _NL_MONETARY_THOUSANDS_SEP_WC, _NL_MONETARY_CODESET, _NL_NUM_LC_MONETARY, __DECIMAL_POINT = (((__LC_NUMERIC) << 16) | (0)), RADIXCHAR = __DECIMAL_POINT, __THOUSANDS_SEP, THOUSEP = __THOUSANDS_SEP, __GROUPING, _NL_NUMERIC_DECIMAL_POINT_WC, _NL_NUMERIC_THOUSANDS_SEP_WC, _NL_NUMERIC_CODESET, _NL_NUM_LC_NUMERIC, __YESEXPR = (((__LC_MESSAGES) << 16) | (0)), __NOEXPR, __YESSTR, __NOSTR, _NL_MESSAGES_CODESET, _NL_NUM_LC_MESSAGES, _NL_PAPER_HEIGHT = (((__LC_PAPER) << 16) | (0)), _NL_PAPER_WIDTH, _NL_PAPER_CODESET, _NL_NUM_LC_PAPER, _NL_NAME_NAME_FMT = (((__LC_NAME) << 16) | (0)), _NL_NAME_NAME_GEN, _NL_NAME_NAME_MR, _NL_NAME_NAME_MRS, _NL_NAME_NAME_MISS, _NL_NAME_NAME_MS, _NL_NAME_CODESET, _NL_NUM_LC_NAME, _NL_ADDRESS_POSTAL_FMT = (((__LC_ADDRESS) << 16) | (0)), _NL_ADDRESS_COUNTRY_NAME, _NL_ADDRESS_COUNTRY_POST, _NL_ADDRESS_COUNTRY_AB2, _NL_ADDRESS_COUNTRY_AB3, _NL_ADDRESS_COUNTRY_CAR, _NL_ADDRESS_COUNTRY_NUM, _NL_ADDRESS_COUNTRY_ISBN, _NL_ADDRESS_LANG_NAME, _NL_ADDRESS_LANG_AB, _NL_ADDRESS_LANG_TERM, _NL_ADDRESS_LANG_LIB, _NL_ADDRESS_CODESET, _NL_NUM_LC_ADDRESS, _NL_TELEPHONE_TEL_INT_FMT = (((__LC_TELEPHONE) << 16) | (0)), _NL_TELEPHONE_TEL_DOM_FMT, _NL_TELEPHONE_INT_SELECT, _NL_TELEPHONE_INT_PREFIX, _NL_TELEPHONE_CODESET, _NL_NUM_LC_TELEPHONE, _NL_MEASUREMENT_MEASUREMENT = (((__LC_MEASUREMENT) << 16) | (0)), _NL_MEASUREMENT_CODESET, _NL_NUM_LC_MEASUREMENT, _NL_IDENTIFICATION_TITLE = (((__LC_IDENTIFICATION) << 16) | (0)), _NL_IDENTIFICATION_SOURCE, _NL_IDENTIFICATION_ADDRESS, _NL_IDENTIFICATION_CONTACT, _NL_IDENTIFICATION_EMAIL, _NL_IDENTIFICATION_TEL, _NL_IDENTIFICATION_FAX, _NL_IDENTIFICATION_LANGUAGE, _NL_IDENTIFICATION_TERRITORY, _NL_IDENTIFICATION_AUDIENCE, _NL_IDENTIFICATION_APPLICATION, _NL_IDENTIFICATION_ABBREVIATION, _NL_IDENTIFICATION_REVISION, _NL_IDENTIFICATION_DATE, _NL_IDENTIFICATION_CATEGORY, _NL_IDENTIFICATION_CODESET, _NL_NUM_LC_IDENTIFICATION, _NL_NUM }; # 575 "/usr/include/langinfo.h" 3 4 extern char *nl_langinfo (nl_item __item) ; # 586 "/usr/include/langinfo.h" 3 4 extern char *nl_langinfo_l (nl_item __item, __locale_t l); # 454 "include/includes.h" 2 # 494 "include/includes.h" typedef sig_atomic_t volatile SIG_ATOMIC_T; # 753 "include/includes.h" # 1 "include/pstring.h" 1 # 31 "include/pstring.h" typedef char pstring[1024]; typedef char fstring[256]; # 754 "include/includes.h" 2 # 1 "include/xfile.h" 1 # 27 "include/xfile.h" typedef struct { int fd; char *buf; char *next; int bufsize; int bufused; int open_flags; int buftype; int flags; } XFILE; extern XFILE *x_stdin, *x_stdout, *x_stderr; # 47 "include/xfile.h" int x_vfprintf(XFILE *f, const char *format, va_list ap) __attribute__ ((format (__printf__, 2, 0))); int x_fprintf(XFILE *f, const char *format, ...) __attribute__ ((format (__printf__, 2, 3))); # 757 "include/includes.h" 2 # 1 "include/intl.h" 1 # 758 "include/includes.h" 2 # 1 "/var/tmp/portage/samba-3.0.0-r1/work/samba-3.0.0/source/ubiqx/ubi_sLinkList.h" 1 # 106 "/var/tmp/portage/samba-3.0.0-r1/work/samba-3.0.0/source/ubiqx/ubi_sLinkList.h" # 1 "/var/tmp/portage/samba-3.0.0-r1/work/samba-3.0.0/source/ubiqx/sys_include.h" 1 # 107 "/var/tmp/portage/samba-3.0.0-r1/work/samba-3.0.0/source/ubiqx/ubi_sLinkList.h" 2 # 118 "/var/tmp/portage/samba-3.0.0-r1/work/samba-3.0.0/source/ubiqx/ubi_sLinkList.h" typedef struct ubi_slListNode { struct ubi_slListNode *Next; } ubi_slNode; typedef ubi_slNode *ubi_slNodePtr; typedef struct { ubi_slNodePtr Head; ubi_slNodePtr Tail; unsigned long count; } ubi_slList; typedef ubi_slList *ubi_slListPtr; # 205 "/var/tmp/portage/samba-3.0.0-r1/work/samba-3.0.0/source/ubiqx/ubi_sLinkList.h" ubi_slListPtr ubi_slInitList( ubi_slListPtr ListPtr ); # 218 "/var/tmp/portage/samba-3.0.0-r1/work/samba-3.0.0/source/ubiqx/ubi_sLinkList.h" ubi_slNodePtr ubi_slInsert( ubi_slListPtr ListPtr, ubi_slNodePtr New, ubi_slNodePtr After ); # 237 "/var/tmp/portage/samba-3.0.0-r1/work/samba-3.0.0/source/ubiqx/ubi_sLinkList.h" ubi_slNodePtr ubi_slRemoveNext( ubi_slListPtr ListPtr, ubi_slNodePtr AfterMe ); # 759 "include/includes.h" 2 # 1 "/var/tmp/portage/samba-3.0.0-r1/work/samba-3.0.0/source/ubiqx/ubi_dLinkList.h" 1 # 93 "/var/tmp/portage/samba-3.0.0-r1/work/samba-3.0.0/source/ubiqx/ubi_dLinkList.h" typedef struct ubi_dlListNode { struct ubi_dlListNode *Next; struct ubi_dlListNode *Prev; } ubi_dlNode; typedef ubi_dlNode *ubi_dlNodePtr; typedef struct { ubi_dlNodePtr Head; ubi_dlNodePtr Tail; unsigned long count; } ubi_dlList; typedef ubi_dlList *ubi_dlListPtr; # 194 "/var/tmp/portage/samba-3.0.0-r1/work/samba-3.0.0/source/ubiqx/ubi_dLinkList.h" ubi_dlListPtr ubi_dlInitList( ubi_dlListPtr ListPtr ); # 207 "/var/tmp/portage/samba-3.0.0-r1/work/samba-3.0.0/source/ubiqx/ubi_dLinkList.h" ubi_dlNodePtr ubi_dlInsert( ubi_dlListPtr ListPtr, ubi_dlNodePtr New, ubi_dlNodePtr After ); # 227 "/var/tmp/portage/samba-3.0.0-r1/work/samba-3.0.0/source/ubiqx/ubi_dLinkList.h" ubi_dlNodePtr ubi_dlRemove( ubi_dlListPtr ListPtr, ubi_dlNodePtr Old ); # 760 "include/includes.h" 2 # 1 "include/dlinklist.h" 1 # 761 "include/includes.h" 2 # 1 "tdb/tdb.h" 1 # 46 "tdb/tdb.h" enum TDB_ERROR {TDB_SUCCESS=0, TDB_ERR_CORRUPT, TDB_ERR_IO, TDB_ERR_LOCK, TDB_ERR_OOM, TDB_ERR_EXISTS, TDB_ERR_NOEXIST, TDB_ERR_NOLOCK, TDB_ERR_LOCK_TIMEOUT }; typedef struct { char *dptr; size_t dsize; } TDB_DATA; typedef unsigned tdb_len; typedef unsigned tdb_off; struct tdb_header { char magic_food[32]; unsigned version; unsigned hash_size; tdb_off rwlocks; tdb_off reserved[31]; }; struct tdb_lock_type { unsigned count; unsigned ltype; }; struct tdb_traverse_lock { struct tdb_traverse_lock *next; unsigned off; unsigned hash; }; typedef struct tdb_context { char *name; void *map_ptr; int fd; tdb_len map_size; int read_only; struct tdb_lock_type *locked; enum TDB_ERROR ecode; struct tdb_header header; unsigned flags; unsigned *lockedkeys; struct tdb_traverse_lock travlocks; struct tdb_context *next; dev_t device; ino_t inode; void (*log_fn)(struct tdb_context *tdb, int level, const char *, ...); int open_flags; } TDB_CONTEXT; typedef int (*tdb_traverse_func)(TDB_CONTEXT *, TDB_DATA, TDB_DATA, void *); typedef void (*tdb_log_func)(TDB_CONTEXT *, int , const char *, ...); TDB_CONTEXT *tdb_open(const char *name, int hash_size, int tdb_flags, int open_flags, mode_t mode); TDB_CONTEXT *tdb_open_ex(const char *name, int hash_size, int tdb_flags, int open_flags, mode_t mode, tdb_log_func log_fn); int tdb_reopen(TDB_CONTEXT *tdb); int tdb_reopen_all(void); void tdb_logging_function(TDB_CONTEXT *tdb, tdb_log_func); enum TDB_ERROR tdb_error(TDB_CONTEXT *tdb); const char *tdb_errorstr(TDB_CONTEXT *tdb); TDB_DATA tdb_fetch(TDB_CONTEXT *tdb, TDB_DATA key); int tdb_delete(TDB_CONTEXT *tdb, TDB_DATA key); int tdb_store(TDB_CONTEXT *tdb, TDB_DATA key, TDB_DATA dbuf, int flag); int tdb_append(TDB_CONTEXT *tdb, TDB_DATA key, TDB_DATA new_dbuf); int tdb_close(TDB_CONTEXT *tdb); TDB_DATA tdb_firstkey(TDB_CONTEXT *tdb); TDB_DATA tdb_nextkey(TDB_CONTEXT *tdb, TDB_DATA key); int tdb_traverse(TDB_CONTEXT *tdb, tdb_traverse_func fn, void *state); int tdb_exists(TDB_CONTEXT *tdb, TDB_DATA key); int tdb_lockkeys(TDB_CONTEXT *tdb, unsigned number, TDB_DATA keys[]); void tdb_unlockkeys(TDB_CONTEXT *tdb); int tdb_lockall(TDB_CONTEXT *tdb); void tdb_unlockall(TDB_CONTEXT *tdb); void tdb_set_lock_alarm(sig_atomic_t *palarm); int tdb_chainlock(TDB_CONTEXT *tdb, TDB_DATA key); int tdb_chainunlock(TDB_CONTEXT *tdb, TDB_DATA key); void tdb_dump_all(TDB_CONTEXT *tdb); int tdb_printfreelist(TDB_CONTEXT *tdb); extern TDB_DATA tdb_null; # 762 "include/includes.h" 2 # 1 "tdb/spinlock.h" 1 # 48 "tdb/spinlock.h" int tdb_spinlock(TDB_CONTEXT *tdb, int list, int rw_type); int tdb_spinunlock(TDB_CONTEXT *tdb, int list, int rw_type); int tdb_create_rwlocks(int fd, unsigned int hash_size); int tdb_clear_spinlocks(TDB_CONTEXT *tdb); # 763 "include/includes.h" 2 # 1 "tdb/tdbutil.h" 1 # 26 "tdb/tdbutil.h" typedef struct keys_node { struct keys_node *prev, *next; TDB_DATA node_key; } TDB_LIST_NODE; TDB_LIST_NODE *tdb_search_keys(TDB_CONTEXT*, const char*); void tdb_search_list_free(TDB_LIST_NODE*); # 764 "include/includes.h" 2 # 1 "include/talloc.h" 1 # 33 "include/talloc.h" typedef struct talloc_ctx TALLOC_CTX; TALLOC_CTX *talloc_init(char const *fmt, ...) __attribute__ ((format (__printf__, 1, 2))); char *talloc_vasprintf(TALLOC_CTX *t, const char *fmt, va_list ap) __attribute__ ((format (__printf__, 2, 0))); char *talloc_asprintf(TALLOC_CTX *t, const char *fmt, ...) __attribute__ ((format (__printf__, 2, 3))); char *talloc_vasprintf_append(TALLOC_CTX *t, char *, const char *, va_list ap) __attribute__ ((format (__printf__, 3, 0))); char *talloc_asprintf_append(TALLOC_CTX *t, char *, const char *, ...) __attribute__ ((format (__printf__, 3, 4))); # 765 "include/includes.h" 2 # 1 "include/nt_status.h" 1 # 38 "include/nt_status.h" typedef struct {unsigned int v;} NTSTATUS; # 48 "include/nt_status.h" typedef struct {unsigned int v;} WERROR; # 766 "include/includes.h" 2 # 1 "include/ads.h" 1 typedef struct { void *ld; struct in_addr ldap_ip; time_t last_attempt; int ldap_port; struct { char *realm; char *workgroup; char *ldap_server; char *ldap_uri; int foreign; } server; struct { char *realm; char *password; char *user_name; char *kdc_server; unsigned flags; int time_offset; } auth; struct { char *realm; char *bind_path; char *ldap_server_name; time_t current_time; } config; } ADS_STRUCT; enum ads_error_type {ADS_ERROR_KRB5, ADS_ERROR_GSS, ADS_ERROR_LDAP, ADS_ERROR_SYSTEM, ADS_ERROR_NT}; typedef struct { enum ads_error_type error_type; union err_state{ int rc; NTSTATUS nt_status; } err; int minor_status; } ADS_STATUS; typedef void **ADS_MODLIST; # 767 "include/includes.h" 2 # 1 "include/interfaces.h" 1 struct iface_struct { char name[16]; struct in_addr ip; struct in_addr netmask; }; # 768 "include/includes.h" 2 # 1 "include/hash.h" 1 # 27 "include/hash.h" typedef int (*compare_function)(char *, char *); typedef int (*hash_function)(int, char *); typedef struct lru_node { ubi_dlNode lru_link; void *hash_elem; } lru_node; # 50 "include/hash.h" typedef struct hash_element { ubi_dlNode bucket_link; lru_node lru_link; ubi_dlList *bucket; void *value; char key[1]; } hash_element; # 66 "include/hash.h" typedef struct hash_table { ubi_dlList *buckets; ubi_dlList lru_chain; unsigned num_elements; unsigned size; compare_function comp_func; } hash_table; # 769 "include/includes.h" 2 # 1 "include/trans2.h" 1 # 770 "include/includes.h" 2 # 1 "include/nterr.h" 1 # 771 "include/includes.h" 2 # 1 "include/ntioctl.h" 1 # 76 "include/ntioctl.h" typedef char SHADOW_COPY_LABEL[25]; typedef struct shadow_copy_data { TALLOC_CTX *mem_ctx; unsigned int num_volumes; SHADOW_COPY_LABEL *labels; } SHADOW_COPY_DATA; # 772 "include/includes.h" 2 # 1 "include/messages.h" 1 # 773 "include/includes.h" 2 # 1 "include/charset.h" 1 # 23 "include/charset.h" typedef enum {CH_UCS2=0, CH_UNIX=1, CH_DISPLAY=2, CH_DOS=3, CH_UTF8=4} charset_t; # 32 "include/charset.h" struct charset_functions { const char *name; size_t (*pull)(void *, char **inbuf, size_t *inbytesleft, char **outbuf, size_t *outbytesleft); size_t (*push)(void *, char **inbuf, size_t *inbytesleft, char **outbuf, size_t *outbytesleft); struct charset_functions *prev, *next; }; struct charset_gap_table { unsigned short start; unsigned short end; int idx; }; # 774 "include/includes.h" 2 # 1 "include/dynconfig.h" 1 # 27 "include/dynconfig.h" extern char const *dyn_SBINDIR, *dyn_BINDIR, *dyn_SWATDIR; extern pstring dyn_CONFIGFILE; extern pstring dyn_LOGFILEBASE, dyn_LMHOSTSFILE; extern pstring dyn_LIBDIR; extern const fstring dyn_SHLIBEXT; extern const pstring dyn_LOCKDIR; extern const pstring dyn_PIDDIR; extern const pstring dyn_SMB_PASSWD_FILE; extern const pstring dyn_PRIVATE_DIR; # 775 "include/includes.h" 2 # 1 "include/adt_tree.h" 1 # 24 "include/adt_tree.h" typedef struct _tree_node { struct _tree_node *parent; struct _tree_node **children; int num_children; char *key; void *data_p; } TREE_NODE; typedef struct _tree_root { TREE_NODE *root; int (*compare)(void* x, void *y); void (*free)(void *p); } SORTED_TREE; # 776 "include/includes.h" 2 # 1 "include/util_getent.h" 1 # 28 "include/util_getent.h" struct sys_grent { char *gr_name; char *gr_passwd; gid_t gr_gid; char **gr_mem; struct sys_grent *next; }; struct sys_pwent { char *pw_name; char *pw_passwd; uid_t pw_uid; gid_t pw_gid; char *pw_gecos; char *pw_dir; char *pw_shell; struct sys_pwent *next; }; struct sys_userlist { struct sys_userlist *next, *prev; char *unix_name; }; # 778 "include/includes.h" 2 # 1 "/var/tmp/portage/samba-3.0.0-r1/work/samba-3.0.0/source/ubiqx/ubi_Cache.h" 1 # 116 "/var/tmp/portage/samba-3.0.0-r1/work/samba-3.0.0/source/ubiqx/ubi_Cache.h" # 1 "/var/tmp/portage/samba-3.0.0-r1/work/samba-3.0.0/source/ubiqx/ubi_SplayTree.h" 1 # 157 "/var/tmp/portage/samba-3.0.0-r1/work/samba-3.0.0/source/ubiqx/ubi_SplayTree.h" # 1 "/var/tmp/portage/samba-3.0.0-r1/work/samba-3.0.0/source/ubiqx/ubi_BinTree.h" 1 # 238 "/var/tmp/portage/samba-3.0.0-r1/work/samba-3.0.0/source/ubiqx/ubi_BinTree.h" typedef enum { ubi_trLT = 1, ubi_trLE, ubi_trEQ, ubi_trGE, ubi_trGT } ubi_trCompOps; # 313 "/var/tmp/portage/samba-3.0.0-r1/work/samba-3.0.0/source/ubiqx/ubi_BinTree.h" typedef unsigned char ubi_trBool; typedef void *ubi_btItemPtr; # 340 "/var/tmp/portage/samba-3.0.0-r1/work/samba-3.0.0/source/ubiqx/ubi_BinTree.h" typedef struct ubi_btNodeStruct { struct ubi_btNodeStruct *Link[ 3 ]; char gender; char balance; } ubi_btNode; typedef ubi_btNode *ubi_btNodePtr; # 373 "/var/tmp/portage/samba-3.0.0-r1/work/samba-3.0.0/source/ubiqx/ubi_BinTree.h" typedef int (*ubi_btCompFunc)( ubi_btItemPtr, ubi_btNodePtr ); typedef void (*ubi_btActionRtn)( ubi_btNodePtr, void * ); typedef void (*ubi_btKillNodeRtn)( ubi_btNodePtr ); # 401 "/var/tmp/portage/samba-3.0.0-r1/work/samba-3.0.0/source/ubiqx/ubi_BinTree.h" typedef struct { ubi_btNodePtr root; ubi_btCompFunc cmp; unsigned long count; char flags; } ubi_btRoot; typedef ubi_btRoot *ubi_btRootPtr; long ubi_btSgn( long x ); # 434 "/var/tmp/portage/samba-3.0.0-r1/work/samba-3.0.0/source/ubiqx/ubi_BinTree.h" ubi_btNodePtr ubi_btInitNode( ubi_btNodePtr NodePtr ); # 444 "/var/tmp/portage/samba-3.0.0-r1/work/samba-3.0.0/source/ubiqx/ubi_BinTree.h" ubi_btRootPtr ubi_btInitTree( ubi_btRootPtr RootPtr, ubi_btCompFunc CompFunc, char Flags ); # 468 "/var/tmp/portage/samba-3.0.0-r1/work/samba-3.0.0/source/ubiqx/ubi_BinTree.h" ubi_trBool ubi_btInsert( ubi_btRootPtr RootPtr, ubi_btNodePtr NewNode, ubi_btItemPtr ItemPtr, ubi_btNodePtr *OldNode ); # 517 "/var/tmp/portage/samba-3.0.0-r1/work/samba-3.0.0/source/ubiqx/ubi_BinTree.h" ubi_btNodePtr ubi_btRemove( ubi_btRootPtr RootPtr, ubi_btNodePtr DeadNode ); # 534 "/var/tmp/portage/samba-3.0.0-r1/work/samba-3.0.0/source/ubiqx/ubi_BinTree.h" ubi_btNodePtr ubi_btLocate( ubi_btRootPtr RootPtr, ubi_btItemPtr FindMe, ubi_trCompOps CompOp ); # 586 "/var/tmp/portage/samba-3.0.0-r1/work/samba-3.0.0/source/ubiqx/ubi_BinTree.h" ubi_btNodePtr ubi_btFind( ubi_btRootPtr RootPtr, ubi_btItemPtr FindMe ); # 607 "/var/tmp/portage/samba-3.0.0-r1/work/samba-3.0.0/source/ubiqx/ubi_BinTree.h" ubi_btNodePtr ubi_btNext( ubi_btNodePtr P ); # 617 "/var/tmp/portage/samba-3.0.0-r1/work/samba-3.0.0/source/ubiqx/ubi_BinTree.h" ubi_btNodePtr ubi_btPrev( ubi_btNodePtr P ); # 627 "/var/tmp/portage/samba-3.0.0-r1/work/samba-3.0.0/source/ubiqx/ubi_BinTree.h" ubi_btNodePtr ubi_btFirst( ubi_btNodePtr P ); # 639 "/var/tmp/portage/samba-3.0.0-r1/work/samba-3.0.0/source/ubiqx/ubi_BinTree.h" ubi_btNodePtr ubi_btLast( ubi_btNodePtr P ); # 651 "/var/tmp/portage/samba-3.0.0-r1/work/samba-3.0.0/source/ubiqx/ubi_BinTree.h" ubi_btNodePtr ubi_btFirstOf( ubi_btRootPtr RootPtr, ubi_btItemPtr MatchMe, ubi_btNodePtr p ); # 674 "/var/tmp/portage/samba-3.0.0-r1/work/samba-3.0.0/source/ubiqx/ubi_BinTree.h" ubi_btNodePtr ubi_btLastOf( ubi_btRootPtr RootPtr, ubi_btItemPtr MatchMe, ubi_btNodePtr p ); # 697 "/var/tmp/portage/samba-3.0.0-r1/work/samba-3.0.0/source/ubiqx/ubi_BinTree.h" unsigned long ubi_btTraverse( ubi_btRootPtr RootPtr, ubi_btActionRtn EachNode, void *UserData ); # 719 "/var/tmp/portage/samba-3.0.0-r1/work/samba-3.0.0/source/ubiqx/ubi_BinTree.h" unsigned long ubi_btKillTree( ubi_btRootPtr RootPtr, ubi_btKillNodeRtn FreeNode ); # 744 "/var/tmp/portage/samba-3.0.0-r1/work/samba-3.0.0/source/ubiqx/ubi_BinTree.h" ubi_btNodePtr ubi_btLeafNode( ubi_btNodePtr leader ); # 773 "/var/tmp/portage/samba-3.0.0-r1/work/samba-3.0.0/source/ubiqx/ubi_BinTree.h" int ubi_btModuleID( int size, char *list[] ); # 158 "/var/tmp/portage/samba-3.0.0-r1/work/samba-3.0.0/source/ubiqx/ubi_SplayTree.h" 2 ubi_trBool ubi_sptInsert( ubi_btRootPtr RootPtr, ubi_btNodePtr NewNode, ubi_btItemPtr ItemPtr, ubi_btNodePtr *OldNode ); # 212 "/var/tmp/portage/samba-3.0.0-r1/work/samba-3.0.0/source/ubiqx/ubi_SplayTree.h" ubi_btNodePtr ubi_sptRemove( ubi_btRootPtr RootPtr, ubi_btNodePtr DeadNode ); # 228 "/var/tmp/portage/samba-3.0.0-r1/work/samba-3.0.0/source/ubiqx/ubi_SplayTree.h" ubi_btNodePtr ubi_sptLocate( ubi_btRootPtr RootPtr, ubi_btItemPtr FindMe, ubi_trCompOps CompOp ); # 280 "/var/tmp/portage/samba-3.0.0-r1/work/samba-3.0.0/source/ubiqx/ubi_SplayTree.h" ubi_btNodePtr ubi_sptFind( ubi_btRootPtr RootPtr, ubi_btItemPtr FindMe ); # 301 "/var/tmp/portage/samba-3.0.0-r1/work/samba-3.0.0/source/ubiqx/ubi_SplayTree.h" void ubi_sptSplay( ubi_btRootPtr RootPtr, ubi_btNodePtr SplayMe ); # 323 "/var/tmp/portage/samba-3.0.0-r1/work/samba-3.0.0/source/ubiqx/ubi_SplayTree.h" int ubi_sptModuleID( int size, char *list[] ); # 117 "/var/tmp/portage/samba-3.0.0-r1/work/samba-3.0.0/source/ubiqx/ubi_Cache.h" 2 # 136 "/var/tmp/portage/samba-3.0.0-r1/work/samba-3.0.0/source/ubiqx/ubi_Cache.h" typedef struct { ubi_btRoot root; ubi_btKillNodeRtn free_func; unsigned long max_entries; unsigned long max_memory; unsigned long mem_used; unsigned short cache_hits; unsigned short cache_trys; } ubi_cacheRoot; typedef ubi_cacheRoot *ubi_cacheRootPtr; typedef struct { ubi_btNode node; unsigned long entry_size; } ubi_cacheEntry; typedef ubi_cacheEntry *ubi_cacheEntryPtr; # 186 "/var/tmp/portage/samba-3.0.0-r1/work/samba-3.0.0/source/ubiqx/ubi_Cache.h" ubi_cacheRootPtr ubi_cacheInit( ubi_cacheRootPtr CachePtr, ubi_btCompFunc CompFunc, ubi_btKillNodeRtn FreeFunc, unsigned long MaxEntries, unsigned long MaxMemory ); # 237 "/var/tmp/portage/samba-3.0.0-r1/work/samba-3.0.0/source/ubiqx/ubi_Cache.h" ubi_cacheRootPtr ubi_cacheClear( ubi_cacheRootPtr CachePtr ); # 249 "/var/tmp/portage/samba-3.0.0-r1/work/samba-3.0.0/source/ubiqx/ubi_Cache.h" void ubi_cachePut( ubi_cacheRootPtr CachePtr, unsigned long EntrySize, ubi_cacheEntryPtr EntryPtr, ubi_btItemPtr Key ); # 289 "/var/tmp/portage/samba-3.0.0-r1/work/samba-3.0.0/source/ubiqx/ubi_Cache.h" ubi_cacheEntryPtr ubi_cacheGet( ubi_cacheRootPtr CachePtr, ubi_btItemPtr FindMe ); # 311 "/var/tmp/portage/samba-3.0.0-r1/work/samba-3.0.0/source/ubiqx/ubi_Cache.h" ubi_trBool ubi_cacheDelete( ubi_cacheRootPtr CachePtr, ubi_btItemPtr DeleteMe ); # 323 "/var/tmp/portage/samba-3.0.0-r1/work/samba-3.0.0/source/ubiqx/ubi_Cache.h" ubi_trBool ubi_cacheReduce( ubi_cacheRootPtr CachePtr, unsigned long count ); # 343 "/var/tmp/portage/samba-3.0.0-r1/work/samba-3.0.0/source/ubiqx/ubi_Cache.h" unsigned long ubi_cacheSetMaxEntries( ubi_cacheRootPtr CachePtr, unsigned long NewSize ); # 361 "/var/tmp/portage/samba-3.0.0-r1/work/samba-3.0.0/source/ubiqx/ubi_Cache.h" unsigned long ubi_cacheSetMaxMemory( ubi_cacheRootPtr CachePtr, unsigned long NewSize ); # 379 "/var/tmp/portage/samba-3.0.0-r1/work/samba-3.0.0/source/ubiqx/ubi_Cache.h" int ubi_cacheHitRatio( ubi_cacheRootPtr CachePtr ); # 781 "include/includes.h" 2 # 1 "/var/tmp/portage/samba-3.0.0-r1/work/samba-3.0.0/source/ubiqx/debugparse.h" 1 # 47 "/var/tmp/portage/samba-3.0.0-r1/work/samba-3.0.0/source/ubiqx/debugparse.h" 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; const char *dbg_token2string( dbg_Token tok ); # 80 "/var/tmp/portage/samba-3.0.0-r1/work/samba-3.0.0/source/ubiqx/debugparse.h" dbg_Token dbg_char2token( dbg_Token *state, int c ); # 784 "include/includes.h" 2 # 1 "include/version.h" 1 # 786 "include/includes.h" 2 # 1 "include/smb.h" 1 # 52 "include/smb.h" typedef int BOOL; # 77 "include/smb.h" # 1 "include/debug.h" 1 # 39 "include/debug.h" int Debug1( const char *, ... ) __attribute__ ((format (__printf__, 1, 2))); BOOL dbgtext( const char *, ... ) __attribute__ ((format (__printf__, 1, 2))); BOOL dbghdr( int level, const char *file, const char *func, int line ); extern XFILE *dbf; extern pstring debugf; # 64 "include/debug.h" extern int *debug_level; # 98 "include/debug.h" extern int *DEBUGLEVEL_CLASS; extern BOOL *DEBUGLEVEL_CLASS_ISSET; # 78 "include/smb.h" 2 # 157 "include/smb.h" # 1 "include/doserr.h" 1 # 158 "include/smb.h" 2 typedef union unid_t { uid_t uid; gid_t gid; } unid_t; typedef unsigned short smb_ucs2_t; typedef smb_ucs2_t wpstring[1024]; typedef smb_ucs2_t wfstring[256]; # 213 "include/smb.h" typedef struct nttime_info { unsigned int low; unsigned int high; } NTTIME; # 250 "include/smb.h" enum SID_NAME_USE { SID_NAME_USE_NONE = 0, SID_NAME_USER = 1, SID_NAME_DOM_GRP, SID_NAME_DOMAIN, SID_NAME_ALIAS, SID_NAME_WKN_GRP, SID_NAME_DELETED, SID_NAME_INVALID, SID_NAME_UNKNOWN, SID_NAME_COMPUTER }; typedef struct sid_info { unsigned char sid_rev_num; unsigned char num_auths; unsigned char id_auth[6]; unsigned int sub_auths[15]; } DOM_SID; # 297 "include/smb.h" typedef struct _nt_user_token { size_t num_sids; DOM_SID *user_sids; } NT_USER_TOKEN; typedef struct local_grp_member_info { DOM_SID sid ; unsigned char sid_use; fstring name ; } LOCAL_GRP_MEMBER; typedef struct local_grp_info { fstring name; fstring comment; } LOCAL_GRP; typedef struct domain_grp_info { fstring name; fstring comment; unsigned int rid; unsigned char attr; } DOMAIN_GRP; typedef struct domain_grp_member_info { fstring name; unsigned char attr; } DOMAIN_GRP_MEMBER; typedef struct time_info { unsigned int time; } UTIME; typedef struct { size_t wr_total_written; int wr_timeout; int wr_errclass; int wr_error; BOOL wr_mode; BOOL wr_discard; } write_bmpx_struct; typedef struct write_cache { off_t file_size; off_t offset; size_t alloc_size; size_t data_size; char *data; } write_cache; typedef struct { smb_ucs2_t *origname; smb_ucs2_t *filename; struct stat *statinfo; } smb_filename; # 1 "include/fake_file.h" 1 # 24 "include/fake_file.h" enum FAKE_FILE_TYPE { FAKE_FILE_TYPE_NONE = 0, FAKE_FILE_TYPE_QUOTA }; typedef struct _FAKE_FILE_HANDLE { enum FAKE_FILE_TYPE type; TALLOC_CTX *mem_ctx; void *pd; void (*free_pd)(void **pd); } FAKE_FILE_HANDLE; typedef struct _FAKE_FILE { const char *name; enum FAKE_FILE_TYPE type; void *(*init_pd)(TALLOC_CTX *men_ctx); void (*free_pd)(void **pd); } FAKE_FILE; # 379 "include/smb.h" 2 typedef struct files_struct { struct files_struct *next, *prev; int fnum; struct connection_struct *conn; int fd; unsigned short rap_print_jobid; dev_t dev; ino_t inode; BOOL delete_on_close; off_t pos; unsigned long long size; unsigned long long initial_allocation_size; unsigned long long position_information; mode_t mode; unsigned short file_pid; unsigned short vuid; write_bmpx_struct *wbmpx_ptr; write_cache *wcp; struct timeval open_time; int share_mode; unsigned int desired_access; time_t pending_modtime; int oplock_type; int sent_oplock_break; unsigned long file_id; BOOL can_lock; BOOL can_read; BOOL can_write; BOOL print_file; BOOL modified; BOOL is_directory; BOOL is_stat; BOOL directory_delete_on_close; char *fsp_name; FAKE_FILE_HANDLE *fake_file_handle; } files_struct; # 1 "include/ntquotas.h" 1 # 62 "include/ntquotas.h" enum SMB_QUOTA_TYPE { SMB_INVALID_QUOTA_TYPE = -1, SMB_USER_FS_QUOTA_TYPE = 1, SMB_USER_QUOTA_TYPE = 2, SMB_GROUP_FS_QUOTA_TYPE = 3, SMB_GROUP_QUOTA_TYPE = 4 }; typedef struct _SMB_NTQUOTA_STRUCT { enum SMB_QUOTA_TYPE qtype; unsigned long long usedspace; unsigned long long softlim; unsigned long long hardlim; unsigned int qflags; DOM_SID sid; } SMB_NTQUOTA_STRUCT; typedef struct _SMB_NTQUOTA_LIST { struct _SMB_NTQUOTA_LIST *prev,*next; TALLOC_CTX *mem_ctx; uid_t uid; SMB_NTQUOTA_STRUCT *quotas; } SMB_NTQUOTA_LIST; typedef struct _SMB_NTQUOTA_HANDLE { BOOL valid; SMB_NTQUOTA_LIST *quota_list; SMB_NTQUOTA_LIST *tmp_list; } SMB_NTQUOTA_HANDLE; # 419 "include/smb.h" 2 # 1 "include/sysquotas.h" 1 # 45 "include/sysquotas.h" # 1 "/usr/include/linux/quota.h" 1 3 4 # 109 "/usr/include/linux/quota.h" 3 4 struct dqblk { __u32 dqb_bhardlimit; __u32 dqb_bsoftlimit; __u32 dqb_curblocks; __u32 dqb_ihardlimit; __u32 dqb_isoftlimit; __u32 dqb_curinodes; time_t dqb_btime; time_t dqb_itime; }; # 134 "/usr/include/linux/quota.h" 3 4 struct dqstats { __u32 lookups; __u32 drops; __u32 reads; __u32 writes; __u32 cache_hits; __u32 allocated_dquots; __u32 free_dquots; __u32 syncs; }; # 194 "/usr/include/linux/quota.h" 3 4 long quotactl (int, const char *, int, caddr_t) ; # 46 "include/sysquotas.h" 2 # 171 "include/sysquotas.h" # 1 "/usr/include/mntent.h" 1 3 4 # 51 "/usr/include/mntent.h" 3 4 struct mntent { char *mnt_fsname; char *mnt_dir; char *mnt_type; char *mnt_opts; int mnt_freq; int mnt_passno; }; extern FILE *setmntent (__const char *__file, __const char *__mode) ; extern struct mntent *getmntent (FILE *__stream) ; extern struct mntent *getmntent_r (FILE *__restrict __stream, struct mntent *__restrict __result, char *__restrict __buffer, int __bufsize) ; extern int addmntent (FILE *__restrict __stream, __const struct mntent *__restrict __mnt) ; extern int endmntent (FILE *__stream) ; extern char *hasmntopt (__const struct mntent *__mnt, __const char *__opt) ; # 172 "include/sysquotas.h" 2 # 208 "include/sysquotas.h" typedef struct _SMB_DISK_QUOTA { enum SMB_QUOTA_TYPE qtype; unsigned long long bsize; unsigned long long hardlimit; unsigned long long softlimit; unsigned long long curblocks; unsigned long long ihardlimit; unsigned long long isoftlimit; unsigned long long curinodes; unsigned int qflags; } SMB_DISK_QUOTA; # 420 "include/smb.h" 2 typedef struct data_blob { unsigned char *data; size_t length; void (*free)(struct data_blob *data_blob); } DATA_BLOB; typedef struct { time_t modify_time; time_t status_time; } dir_status_struct; struct vuid_cache { unsigned int entries; unsigned short list[32]; }; typedef struct { char *name; BOOL is_wild; } name_compare_entry; # 1 "include/smb_acls.h" 1 # 260 "include/smb_acls.h" typedef struct SMB_ACL_T { int dummy; } *SMB_ACL_T; typedef struct SMB_ACL_ENTRY_T { int dummy; } *SMB_ACL_ENTRY_T; # 453 "include/smb.h" 2 # 1 "include/vfs.h" 1 # 72 "include/vfs.h" struct vfs_handle_struct; struct connection_struct; struct files_struct; struct security_descriptor_info; # 84 "include/vfs.h" typedef enum _vfs_op_type { SMB_VFS_OP_NOOP = -1, SMB_VFS_OP_CONNECT = 0, SMB_VFS_OP_DISCONNECT, SMB_VFS_OP_DISK_FREE, SMB_VFS_OP_GET_QUOTA, SMB_VFS_OP_SET_QUOTA, SMB_VFS_OP_GET_SHADOW_COPY_DATA, SMB_VFS_OP_OPENDIR, SMB_VFS_OP_READDIR, SMB_VFS_OP_MKDIR, SMB_VFS_OP_RMDIR, SMB_VFS_OP_CLOSEDIR, SMB_VFS_OP_OPEN, SMB_VFS_OP_CLOSE, SMB_VFS_OP_READ, SMB_VFS_OP_WRITE, SMB_VFS_OP_LSEEK, SMB_VFS_OP_SENDFILE, SMB_VFS_OP_RENAME, SMB_VFS_OP_FSYNC, SMB_VFS_OP_STAT, SMB_VFS_OP_FSTAT, SMB_VFS_OP_LSTAT, SMB_VFS_OP_UNLINK, SMB_VFS_OP_CHMOD, SMB_VFS_OP_FCHMOD, SMB_VFS_OP_CHOWN, SMB_VFS_OP_FCHOWN, SMB_VFS_OP_CHDIR, SMB_VFS_OP_GETWD, SMB_VFS_OP_UTIME, SMB_VFS_OP_FTRUNCATE, SMB_VFS_OP_LOCK, SMB_VFS_OP_SYMLINK, SMB_VFS_OP_READLINK, SMB_VFS_OP_LINK, SMB_VFS_OP_MKNOD, SMB_VFS_OP_REALPATH, SMB_VFS_OP_FGET_NT_ACL, SMB_VFS_OP_GET_NT_ACL, SMB_VFS_OP_FSET_NT_ACL, SMB_VFS_OP_SET_NT_ACL, SMB_VFS_OP_CHMOD_ACL, SMB_VFS_OP_FCHMOD_ACL, SMB_VFS_OP_SYS_ACL_GET_ENTRY, SMB_VFS_OP_SYS_ACL_GET_TAG_TYPE, SMB_VFS_OP_SYS_ACL_GET_PERMSET, SMB_VFS_OP_SYS_ACL_GET_QUALIFIER, SMB_VFS_OP_SYS_ACL_GET_FILE, SMB_VFS_OP_SYS_ACL_GET_FD, SMB_VFS_OP_SYS_ACL_CLEAR_PERMS, SMB_VFS_OP_SYS_ACL_ADD_PERM, SMB_VFS_OP_SYS_ACL_TO_TEXT, SMB_VFS_OP_SYS_ACL_INIT, SMB_VFS_OP_SYS_ACL_CREATE_ENTRY, SMB_VFS_OP_SYS_ACL_SET_TAG_TYPE, SMB_VFS_OP_SYS_ACL_SET_QUALIFIER, SMB_VFS_OP_SYS_ACL_SET_PERMSET, SMB_VFS_OP_SYS_ACL_VALID, SMB_VFS_OP_SYS_ACL_SET_FILE, SMB_VFS_OP_SYS_ACL_SET_FD, SMB_VFS_OP_SYS_ACL_DELETE_DEF_FILE, SMB_VFS_OP_SYS_ACL_GET_PERM, SMB_VFS_OP_SYS_ACL_FREE_TEXT, SMB_VFS_OP_SYS_ACL_FREE_ACL, SMB_VFS_OP_SYS_ACL_FREE_QUALIFIER, SMB_VFS_OP_GETXATTR, SMB_VFS_OP_LGETXATTR, SMB_VFS_OP_FGETXATTR, SMB_VFS_OP_LISTXATTR, SMB_VFS_OP_LLISTXATTR, SMB_VFS_OP_FLISTXATTR, SMB_VFS_OP_REMOVEXATTR, SMB_VFS_OP_LREMOVEXATTR, SMB_VFS_OP_FREMOVEXATTR, SMB_VFS_OP_SETXATTR, SMB_VFS_OP_LSETXATTR, SMB_VFS_OP_FSETXATTR, SMB_VFS_OP_LAST } vfs_op_type; struct vfs_ops { struct vfs_fn_pointers { int (*connect)(struct vfs_handle_struct *handle, struct connection_struct *conn, const char *service, const char *user); void (*disconnect)(struct vfs_handle_struct *handle, struct connection_struct *conn); unsigned long long (*disk_free)(struct vfs_handle_struct *handle, struct connection_struct *conn, const char *path, BOOL small_query, unsigned long long *bsize, unsigned long long *dfree, unsigned long long *dsize); int (*get_quota)(struct vfs_handle_struct *handle, struct connection_struct *conn, enum SMB_QUOTA_TYPE qtype, unid_t id, SMB_DISK_QUOTA *qt); int (*set_quota)(struct vfs_handle_struct *handle, struct connection_struct *conn, enum SMB_QUOTA_TYPE qtype, unid_t id, SMB_DISK_QUOTA *qt); int (*get_shadow_copy_data)(struct vfs_handle_struct *handle, struct files_struct *fsp, SHADOW_COPY_DATA *shadow_copy_data, BOOL labels); DIR *(*opendir)(struct vfs_handle_struct *handle, struct connection_struct *conn, const char *fname); struct dirent *(*readdir)(struct vfs_handle_struct *handle, struct connection_struct *conn, DIR *dirp); int (*mkdir)(struct vfs_handle_struct *handle, struct connection_struct *conn, const char *path, mode_t mode); int (*rmdir)(struct vfs_handle_struct *handle, struct connection_struct *conn, const char *path); int (*closedir)(struct vfs_handle_struct *handle, struct connection_struct *conn, DIR *dir); int (*open)(struct vfs_handle_struct *handle, struct connection_struct *conn, const char *fname, int flags, mode_t mode); int (*close)(struct vfs_handle_struct *handle, struct files_struct *fsp, int fd); ssize_t (*read)(struct vfs_handle_struct *handle, struct files_struct *fsp, int fd, void *data, size_t n); ssize_t (*write)(struct vfs_handle_struct *handle, struct files_struct *fsp, int fd, const void *data, size_t n); off_t (*lseek)(struct vfs_handle_struct *handle, struct files_struct *fsp, int fd, off_t offset, int whence); ssize_t (*sendfile)(struct vfs_handle_struct *handle, int tofd, files_struct *fsp, int fromfd, const DATA_BLOB *header, off_t offset, size_t count); int (*rename)(struct vfs_handle_struct *handle, struct connection_struct *conn, const char *old, const char *new); int (*fsync)(struct vfs_handle_struct *handle, struct files_struct *fsp, int fd); int (*stat)(struct vfs_handle_struct *handle, struct connection_struct *conn, const char *fname, struct stat *sbuf); int (*fstat)(struct vfs_handle_struct *handle, struct files_struct *fsp, int fd, struct stat *sbuf); int (*lstat)(struct vfs_handle_struct *handle, struct connection_struct *conn, const char *path, struct stat *sbuf); int (*unlink)(struct vfs_handle_struct *handle, struct connection_struct *conn, const char *path); int (*chmod)(struct vfs_handle_struct *handle, struct connection_struct *conn, const char *path, mode_t mode); int (*fchmod)(struct vfs_handle_struct *handle, struct files_struct *fsp, int fd, mode_t mode); int (*chown)(struct vfs_handle_struct *handle, struct connection_struct *conn, const char *path, uid_t uid, gid_t gid); int (*fchown)(struct vfs_handle_struct *handle, struct files_struct *fsp, int fd, uid_t uid, gid_t gid); int (*chdir)(struct vfs_handle_struct *handle, struct connection_struct *conn, const char *path); char *(*getwd)(struct vfs_handle_struct *handle, struct connection_struct *conn, char *buf); int (*utime)(struct vfs_handle_struct *handle, struct connection_struct *conn, const char *path, struct utimbuf *times); int (*ftruncate)(struct vfs_handle_struct *handle, struct files_struct *fsp, int fd, off_t offset); BOOL (*lock)(struct vfs_handle_struct *handle, struct files_struct *fsp, int fd, int op, off_t offset, off_t count, int type); int (*symlink)(struct vfs_handle_struct *handle, struct connection_struct *conn, const char *oldpath, const char *newpath); int (*readlink)(struct vfs_handle_struct *handle, struct connection_struct *conn, const char *path, char *buf, size_t bufsiz); int (*link)(struct vfs_handle_struct *handle, struct connection_struct *conn, const char *oldpath, const char *newpath); int (*mknod)(struct vfs_handle_struct *handle, struct connection_struct *conn, const char *path, mode_t mode, dev_t dev); char *(*realpath)(struct vfs_handle_struct *handle, struct connection_struct *conn, const char *path, char *resolved_path); size_t (*fget_nt_acl)(struct vfs_handle_struct *handle, struct files_struct *fsp, int fd, unsigned int security_info, struct security_descriptor_info **ppdesc); size_t (*get_nt_acl)(struct vfs_handle_struct *handle, struct files_struct *fsp, const char *name, unsigned int security_info, struct security_descriptor_info **ppdesc); BOOL (*fset_nt_acl)(struct vfs_handle_struct *handle, struct files_struct *fsp, int fd, unsigned int security_info_sent, struct security_descriptor_info *psd); BOOL (*set_nt_acl)(struct vfs_handle_struct *handle, struct files_struct *fsp, const char *name, unsigned int security_info_sent, struct security_descriptor_info *psd); int (*chmod_acl)(struct vfs_handle_struct *handle, struct connection_struct *conn, const char *name, mode_t mode); int (*fchmod_acl)(struct vfs_handle_struct *handle, struct files_struct *fsp, int fd, mode_t mode); int (*sys_acl_get_entry)(struct vfs_handle_struct *handle, struct connection_struct *conn, SMB_ACL_T theacl, int entry_id, SMB_ACL_ENTRY_T *entry_p); int (*sys_acl_get_tag_type)(struct vfs_handle_struct *handle, struct connection_struct *conn, SMB_ACL_ENTRY_T entry_d, int *tag_type_p); int (*sys_acl_get_permset)(struct vfs_handle_struct *handle, struct connection_struct *conn, SMB_ACL_ENTRY_T entry_d, mode_t *permset_p); void * (*sys_acl_get_qualifier)(struct vfs_handle_struct *handle, struct connection_struct *conn, SMB_ACL_ENTRY_T entry_d); SMB_ACL_T (*sys_acl_get_file)(struct vfs_handle_struct *handle, struct connection_struct *conn, const char *path_p, int type); SMB_ACL_T (*sys_acl_get_fd)(struct vfs_handle_struct *handle, struct files_struct *fsp, int fd); int (*sys_acl_clear_perms)(struct vfs_handle_struct *handle, struct connection_struct *conn, mode_t permset); int (*sys_acl_add_perm)(struct vfs_handle_struct *handle, struct connection_struct *conn, mode_t permset, mode_t perm); char * (*sys_acl_to_text)(struct vfs_handle_struct *handle, struct connection_struct *conn, SMB_ACL_T theacl, ssize_t *plen); SMB_ACL_T (*sys_acl_init)(struct vfs_handle_struct *handle, struct connection_struct *conn, int count); int (*sys_acl_create_entry)(struct vfs_handle_struct *handle, struct connection_struct *conn, SMB_ACL_T *pacl, SMB_ACL_ENTRY_T *pentry); int (*sys_acl_set_tag_type)(struct vfs_handle_struct *handle, struct connection_struct *conn, SMB_ACL_ENTRY_T entry, int tagtype); int (*sys_acl_set_qualifier)(struct vfs_handle_struct *handle, struct connection_struct *conn, SMB_ACL_ENTRY_T entry, void *qual); int (*sys_acl_set_permset)(struct vfs_handle_struct *handle, struct connection_struct *conn, SMB_ACL_ENTRY_T entry, mode_t permset); int (*sys_acl_valid)(struct vfs_handle_struct *handle, struct connection_struct *conn, SMB_ACL_T theacl ); int (*sys_acl_set_file)(struct vfs_handle_struct *handle, struct connection_struct *conn, const char *name, int acltype, SMB_ACL_T theacl); int (*sys_acl_set_fd)(struct vfs_handle_struct *handle, struct files_struct *fsp, int fd, SMB_ACL_T theacl); int (*sys_acl_delete_def_file)(struct vfs_handle_struct *handle, struct connection_struct *conn, const char *path); int (*sys_acl_get_perm)(struct vfs_handle_struct *handle, struct connection_struct *conn, mode_t permset, mode_t perm); int (*sys_acl_free_text)(struct vfs_handle_struct *handle, struct connection_struct *conn, char *text); int (*sys_acl_free_acl)(struct vfs_handle_struct *handle, struct connection_struct *conn, SMB_ACL_T posix_acl); int (*sys_acl_free_qualifier)(struct vfs_handle_struct *handle, struct connection_struct *conn, void *qualifier, int tagtype); ssize_t (*getxattr)(struct vfs_handle_struct *handle,struct connection_struct *conn,const char *path, const char *name, void *value, size_t size); ssize_t (*lgetxattr)(struct vfs_handle_struct *handle,struct connection_struct *conn,const char *path, const char *name, void *value, size_t size); ssize_t (*fgetxattr)(struct vfs_handle_struct *handle, struct files_struct *fsp,int fd, const char *name, void *value, size_t size); ssize_t (*listxattr)(struct vfs_handle_struct *handle, struct connection_struct *conn,const char *path, char *list, size_t size); ssize_t (*llistxattr)(struct vfs_handle_struct *handle, struct connection_struct *conn,const char *path, char *list, size_t size); ssize_t (*flistxattr)(struct vfs_handle_struct *handle, struct files_struct *fsp,int fd, char *list, size_t size); int (*removexattr)(struct vfs_handle_struct *handle, struct connection_struct *conn,const char *path, const char *name); int (*lremovexattr)(struct vfs_handle_struct *handle, struct connection_struct *conn,const char *path, const char *name); int (*fremovexattr)(struct vfs_handle_struct *handle, struct files_struct *fsp,int filedes, const char *name); int (*setxattr)(struct vfs_handle_struct *handle, struct connection_struct *conn,const char *path, const char *name, const void *value, size_t size, int flags); int (*lsetxattr)(struct vfs_handle_struct *handle, struct connection_struct *conn,const char *path, const char *name, const void *value, size_t size, int flags); int (*fsetxattr)(struct vfs_handle_struct *handle, struct files_struct *fsp,int filedes, const char *name, const void *value, size_t size, int flags); } ops; struct vfs_handles_pointers { struct vfs_handle_struct *connect; struct vfs_handle_struct *disconnect; struct vfs_handle_struct *disk_free; struct vfs_handle_struct *get_quota; struct vfs_handle_struct *set_quota; struct vfs_handle_struct *get_shadow_copy_data; struct vfs_handle_struct *opendir; struct vfs_handle_struct *readdir; struct vfs_handle_struct *mkdir; struct vfs_handle_struct *rmdir; struct vfs_handle_struct *closedir; struct vfs_handle_struct *open; struct vfs_handle_struct *close; struct vfs_handle_struct *read; struct vfs_handle_struct *write; struct vfs_handle_struct *lseek; struct vfs_handle_struct *sendfile; struct vfs_handle_struct *rename; struct vfs_handle_struct *fsync; struct vfs_handle_struct *stat; struct vfs_handle_struct *fstat; struct vfs_handle_struct *lstat; struct vfs_handle_struct *unlink; struct vfs_handle_struct *chmod; struct vfs_handle_struct *fchmod; struct vfs_handle_struct *chown; struct vfs_handle_struct *fchown; struct vfs_handle_struct *chdir; struct vfs_handle_struct *getwd; struct vfs_handle_struct *utime; struct vfs_handle_struct *ftruncate; struct vfs_handle_struct *lock; struct vfs_handle_struct *symlink; struct vfs_handle_struct *readlink; struct vfs_handle_struct *link; struct vfs_handle_struct *mknod; struct vfs_handle_struct *realpath; struct vfs_handle_struct *fget_nt_acl; struct vfs_handle_struct *get_nt_acl; struct vfs_handle_struct *fset_nt_acl; struct vfs_handle_struct *set_nt_acl; struct vfs_handle_struct *chmod_acl; struct vfs_handle_struct *fchmod_acl; struct vfs_handle_struct *sys_acl_get_entry; struct vfs_handle_struct *sys_acl_get_tag_type; struct vfs_handle_struct *sys_acl_get_permset; struct vfs_handle_struct *sys_acl_get_qualifier; struct vfs_handle_struct *sys_acl_get_file; struct vfs_handle_struct *sys_acl_get_fd; struct vfs_handle_struct *sys_acl_clear_perms; struct vfs_handle_struct *sys_acl_add_perm; struct vfs_handle_struct *sys_acl_to_text; struct vfs_handle_struct *sys_acl_init; struct vfs_handle_struct *sys_acl_create_entry; struct vfs_handle_struct *sys_acl_set_tag_type; struct vfs_handle_struct *sys_acl_set_qualifier; struct vfs_handle_struct *sys_acl_set_permset; struct vfs_handle_struct *sys_acl_valid; struct vfs_handle_struct *sys_acl_set_file; struct vfs_handle_struct *sys_acl_set_fd; struct vfs_handle_struct *sys_acl_delete_def_file; struct vfs_handle_struct *sys_acl_get_perm; struct vfs_handle_struct *sys_acl_free_text; struct vfs_handle_struct *sys_acl_free_acl; struct vfs_handle_struct *sys_acl_free_qualifier; struct vfs_handle_struct *getxattr; struct vfs_handle_struct *lgetxattr; struct vfs_handle_struct *fgetxattr; struct vfs_handle_struct *listxattr; struct vfs_handle_struct *llistxattr; struct vfs_handle_struct *flistxattr; struct vfs_handle_struct *removexattr; struct vfs_handle_struct *lremovexattr; struct vfs_handle_struct *fremovexattr; struct vfs_handle_struct *setxattr; struct vfs_handle_struct *lsetxattr; struct vfs_handle_struct *fsetxattr; } handles; }; # 410 "include/vfs.h" typedef enum _vfs_op_layer { SMB_VFS_LAYER_NOOP = -1, SMB_VFS_LAYER_OPAQUE = 0, SMB_VFS_LAYER_TRANSPARENT, SMB_VFS_LAYER_LOGGER, SMB_VFS_LAYER_SPLITTER, SMB_VFS_LAYER_SCANNER } vfs_op_layer; # 431 "include/vfs.h" typedef struct _vfs_op_tuple { void* op; vfs_op_type type; vfs_op_layer layer; } vfs_op_tuple; typedef struct vfs_handle_struct { struct vfs_handle_struct *next, *prev; const char *param; struct vfs_ops vfs_next; struct connection_struct *conn; void *data; void (*free_data)(void **data); } vfs_handle_struct; # 480 "include/vfs.h" # 1 "include/vfs_macros.h" 1 # 481 "include/vfs.h" 2 # 454 "include/smb.h" 2 typedef struct connection_struct { struct connection_struct *next, *prev; TALLOC_CTX *mem_ctx; unsigned cnum; int service; BOOL force_user; BOOL force_group; struct vuid_cache vuid_cache; void *dirptr; BOOL printer; BOOL ipc; BOOL read_only; BOOL admin_user; char *dirpath; char *connectpath; char *origpath; struct vfs_ops vfs; struct vfs_ops vfs_opaque; struct vfs_handle_struct *vfs_handles; char *user; uid_t uid; gid_t gid; char client_address[18]; unsigned short vuid; int ngroups; gid_t *groups; NT_USER_TOKEN *nt_user_token; time_t lastused; BOOL used; int num_files_open; name_compare_entry *hide_list; name_compare_entry *veto_list; name_compare_entry *veto_oplock_list; } connection_struct; struct current_user { connection_struct *conn; unsigned short vuid; uid_t uid; gid_t gid; int ngroups; gid_t *groups; NT_USER_TOKEN *nt_user_token; }; typedef struct { fstring smb_name; fstring unix_name; fstring full_name; fstring domain; } userdom_struct; enum {LPQ_QUEUED=0,LPQ_PAUSED,LPQ_SPOOLING,LPQ_PRINTING,LPQ_ERROR,LPQ_DELETING, LPQ_OFFLINE,LPQ_PAPEROUT,LPQ_PRINTED,LPQ_DELETED,LPQ_BLOCKED,LPQ_USER_INTERVENTION}; typedef struct _print_queue_struct { int job; int size; int page_count; int status; int priority; time_t time; fstring fs_user; fstring fs_file; } print_queue_struct; enum {LPSTAT_OK, LPSTAT_STOPPED, LPSTAT_ERROR}; typedef struct { fstring message; int qcount; int status; } print_status_struct; struct server_info_struct { fstring name; unsigned int type; fstring comment; fstring domain; BOOL server_added; }; struct interface { struct interface *next, *prev; struct in_addr ip; struct in_addr bcast; struct in_addr nmask; }; typedef struct { pid_t pid; unsigned short op_port; unsigned short op_type; int share_mode; unsigned int desired_access; struct timeval time; dev_t dev; ino_t inode; unsigned long share_file_id; } share_mode_entry; # 622 "include/smb.h" struct connections_key { pid_t pid; int cnum; fstring name; }; struct connections_data { int magic; pid_t pid; int cnum; uid_t uid; gid_t gid; char name[24]; char addr[24]; char machine[256]; time_t start; unsigned int bcast_msg_flags; }; struct locking_key { dev_t dev; ino_t inode; }; struct locking_data { union { int num_share_mode_entries; share_mode_entry dummy; } u; }; typedef enum { P_BOOL,P_BOOLREV,P_CHAR,P_INTEGER,P_OCTAL,P_LIST, P_STRING,P_USTRING,P_GSTRING,P_UGSTRING,P_ENUM,P_SEP } parm_type; typedef enum { P_LOCAL,P_GLOBAL,P_SEPARATOR,P_NONE } parm_class; enum brl_type {READ_LOCK, WRITE_LOCK, PENDING_LOCK}; struct enum_list { int value; const char *name; }; # 688 "include/smb.h" struct parm_struct { const char *label; parm_type type; parm_class class; void *ptr; BOOL (*special)(const char *, char **); const struct enum_list *enum_list; unsigned flags; union { BOOL bvalue; int ivalue; char *svalue; char cvalue; char **lvalue; } def; }; struct bitmap { unsigned int *b; unsigned int n; }; # 1289 "include/smb.h" enum protocol_types {PROTOCOL_NONE,PROTOCOL_CORE,PROTOCOL_COREPLUS,PROTOCOL_LANMAN1,PROTOCOL_LANMAN2,PROTOCOL_NT1}; enum security_types {SEC_SHARE,SEC_USER,SEC_SERVER,SEC_DOMAIN,SEC_ADS}; enum server_types { ROLE_STANDALONE, ROLE_DOMAIN_MEMBER, ROLE_DOMAIN_BDC, ROLE_DOMAIN_PDC }; enum printing_types {PRINT_BSD,PRINT_SYSV,PRINT_AIX,PRINT_HPUX, PRINT_QNX,PRINT_PLP,PRINT_LPRNG,PRINT_SOFTQ, PRINT_CUPS,PRINT_LPRNT,PRINT_LPROS2 }; enum schema_types {SCHEMA_COMPAT, SCHEMA_AD, SCHEMA_SAMBA}; enum ldap_ssl_types {LDAP_SSL_ON, LDAP_SSL_OFF, LDAP_SSL_START_TLS}; enum ldap_passwd_sync_types {LDAP_PASSWD_SYNC_ON, LDAP_PASSWD_SYNC_OFF, LDAP_PASSWD_SYNC_ONLY}; enum remote_arch_types {RA_UNKNOWN, RA_WFWG, RA_OS2, RA_WIN95, RA_WINNT, RA_WIN2K, RA_WINXP, RA_WIN2K3, RA_SAMBA}; enum case_handling {CASE_LOWER,CASE_UPPER}; # 1343 "include/smb.h" extern int unix_ERR_class; extern int unix_ERR_code; extern NTSTATUS unix_ERR_ntstatus; extern int chain_size; # 1462 "include/smb.h" struct kernel_oplocks { BOOL (*receive_message)(fd_set *fds, char *buffer, int buffer_len); BOOL (*set_oplock)(files_struct *fsp, int oplock_type); void (*release_oplock)(files_struct *fsp); BOOL (*parse_message)(char *msg_start, int msg_len, ino_t *inode, dev_t *dev, unsigned long *file_id); BOOL (*msg_waiting)(fd_set *fds); int notification_fd; }; struct cnotify_fns { void * (*register_notify)(connection_struct *conn, char *path, unsigned int flags); BOOL (*check_notify)(connection_struct *conn, unsigned short vuid, char *path, unsigned int flags, void *data, time_t t); void (*remove_notify)(void *data); int select_time; }; # 1 "include/smb_macros.h" 1 # 1486 "include/smb.h" 2 typedef char nstring[16]; struct nmb_name { nstring name; char scope[64]; unsigned int name_type; }; struct node_status { nstring name; unsigned char type; unsigned char flags; }; struct pwd_info { BOOL null_pwd; BOOL cleartext; BOOL crypted; fstring password; unsigned char smb_lm_pwd[16]; unsigned char smb_nt_pwd[16]; unsigned char smb_lm_owf[24]; unsigned char smb_nt_owf[128]; size_t nt_owf_len; unsigned char lm_cli_chal[8]; unsigned char nt_cli_chal[128]; size_t nt_cli_chal_len; unsigned char sess_key[16]; }; typedef struct user_struct { struct user_struct *next, *prev; unsigned short vuid; uid_t uid; gid_t gid; userdom_struct user; char *homedir; char *unix_homedir; char *logon_script; BOOL guest; int n_groups; gid_t *groups; NT_USER_TOKEN *nt_user_token; unsigned char session_key[16]; char *session_keystr; int homes_snum; struct auth_serversupplied_info *server_info; } user_struct; struct unix_error_map { int unix_error; int dos_class; int dos_code; NTSTATUS nt_error; }; # 1607 "include/smb.h" typedef struct { size_t (*direct)(void *cd, char **inbuf, size_t *inbytesleft, char **outbuf, size_t *outbytesleft); size_t (*pull)(void *cd, char **inbuf, size_t *inbytesleft, char **outbuf, size_t *outbytesleft); size_t (*push)(void *cd, char **inbuf, size_t *inbytesleft, char **outbuf, size_t *outbytesleft); void *cd_direct, *cd_pull, *cd_push; char *from_name, *to_name; } *smb_iconv_t; # 1 "include/popt_common.h" 1 # 25 "include/popt_common.h" extern struct poptOption popt_common_samba[]; extern struct poptOption popt_common_connection[]; extern struct poptOption popt_common_version[]; extern struct poptOption popt_common_credentials[]; # 39 "include/popt_common.h" struct user_auth_info { pstring username; pstring password; BOOL got_pass; BOOL use_kerberos; int signing_state; }; extern struct user_auth_info cmdline_auth_info; # 1625 "include/smb.h" 2 struct ip_service { struct in_addr ip; unsigned port; }; typedef struct smb_sign_info { void (*sign_outgoing_message)(char *outbuf, struct smb_sign_info *si); BOOL (*check_incoming_message)(char *inbuf, struct smb_sign_info *si); void (*free_signing_context)(struct smb_sign_info *si); void *signing_context; BOOL negotiated_smb_signing; BOOL allow_smb_signing; BOOL doing_signing; BOOL mandatory_signing; } smb_sign_info; # 788 "include/includes.h" 2 # 1 "include/nameserv.h" 1 # 43 "include/nameserv.h" enum netbios_reply_type_code { NMB_QUERY, NMB_STATUS, NMB_REG, NMB_REG_REFRESH, NMB_REL, NMB_WAIT_ACK, NMB_MULTIHOMED_REG, WINS_REG, WINS_QUERY }; # 174 "include/nameserv.h" enum name_source {LMHOSTS_NAME, REGISTER_NAME, SELF_NAME, DNS_NAME, DNSFAIL_NAME, PERMANENT_NAME, WINS_PROXY_NAME}; enum node_type {B_NODE=0, P_NODE=1, M_NODE=2, NBDD_NODE=3}; enum packet_type {NMB_PACKET, DGRAM_PACKET}; enum master_state { MST_NONE, MST_POTENTIAL, MST_BACKUP, MST_MSB, MST_BROWSER, MST_UNBECOMING_MASTER }; enum domain_state { DOMAIN_NONE, DOMAIN_WAIT, DOMAIN_MST }; enum logon_state { LOGON_NONE, LOGON_WAIT, LOGON_SRV }; struct subnet_record; struct nmb_data { unsigned short nb_flags; int num_ips; struct in_addr *ip; enum name_source source; time_t death_time; time_t refresh_time; unsigned long long id; struct in_addr wins_ip; int wins_flags; }; struct name_record { ubi_btNode node[1]; struct subnet_record *subnet; struct nmb_name name; struct nmb_data data; }; struct browse_cache_record { ubi_dlNode node[1]; nstring lmb_name; nstring work_group; struct in_addr ip; time_t sync_time; time_t death_time; }; struct server_record { struct server_record *next; struct server_record *prev; struct subnet_record *subnet; struct server_info_struct serv; time_t death_time; }; struct work_record { struct work_record *next; struct work_record *prev; struct subnet_record *subnet; struct server_record *serverlist; enum master_state mst_state; enum domain_state dom_state; enum logon_state log_state; nstring work_group; int token; nstring local_master_browser_name; time_t lastannounce_time; int announce_interval; BOOL needannounce; time_t death_time; BOOL RunningElection; BOOL needelection; int ElectionCount; unsigned int ElectionCriterion; struct nmb_name dmb_name; struct in_addr dmb_addr; }; struct userdata_struct; typedef struct userdata_struct * (*userdata_copy_fn)(struct userdata_struct *); typedef void (*userdata_free_fn)(struct userdata_struct *); struct userdata_struct { userdata_copy_fn copy_fn; userdata_free_fn free_fn; unsigned int userdata_len; char data[16]; }; struct response_record; struct packet_struct; struct res_rec; typedef void (*response_function)(struct subnet_record *, struct response_record *, struct packet_struct *); typedef void (*timeout_response_function)(struct subnet_record *, struct response_record *); typedef void (*success_function)(struct subnet_record *, struct userdata_struct *, ...); typedef void (*fail_function)(struct subnet_record *, struct response_record *, ...); typedef void (*register_name_success_function)( struct subnet_record *, struct userdata_struct *, struct nmb_name *, unsigned short, int, struct in_addr); typedef void (*register_name_fail_function)( struct subnet_record *, struct response_record *, struct nmb_name *); typedef void (*release_name_success_function)( struct subnet_record *, struct userdata_struct *, struct nmb_name *, struct in_addr); typedef void (*release_name_fail_function)( struct subnet_record *, struct response_record *, struct nmb_name *); typedef void (*refresh_name_success_function)( struct subnet_record *, struct userdata_struct *, struct nmb_name *, unsigned short, int, struct in_addr); typedef void (*refresh_name_fail_function)( struct subnet_record *, struct response_record *, struct nmb_name *); typedef void (*query_name_success_function)( struct subnet_record *, struct userdata_struct *, struct nmb_name *, struct in_addr, struct res_rec *answers); typedef void (*query_name_fail_function)( struct subnet_record *, struct response_record *, struct nmb_name *, int); typedef void (*node_status_success_function)( struct subnet_record *, struct userdata_struct *, struct res_rec *, struct in_addr); typedef void (*node_status_fail_function)( struct subnet_record *, struct response_record *); struct response_record { struct response_record *next; struct response_record *prev; unsigned short response_id; response_function resp_fn; timeout_response_function timeout_fn; success_function success_fn; fail_function fail_fn; struct packet_struct *packet; struct userdata_struct *userdata; int num_msgs; time_t repeat_time; time_t repeat_interval; int repeat_count; BOOL in_expiration_processing; }; # 413 "include/nameserv.h" enum subnet_type { NORMAL_SUBNET = 0, UNICAST_SUBNET = 1, REMOTE_BROADCAST_SUBNET = 2, WINS_SERVER_SUBNET = 3 }; struct subnet_record { struct subnet_record *next; struct subnet_record *prev; char *subnet_name; enum subnet_type type; struct work_record *workgrouplist; ubi_btRoot namelist[1]; struct response_record *responselist; BOOL namelist_changed; BOOL work_changed; struct in_addr bcast_ip; struct in_addr mask_ip; struct in_addr myip; int nmb_sock; int dgram_sock; }; struct res_rec { struct nmb_name rr_name; int rr_type; int rr_class; int ttl; int rdlength; char rdata[(576)]; }; # 460 "include/nameserv.h" struct nmb_packet { struct { int name_trn_id; int opcode; BOOL response; struct { BOOL bcast; BOOL recursion_available; BOOL recursion_desired; BOOL trunc; BOOL authoritative; } nm_flags; int rcode; int qdcount; int ancount; int nscount; int arcount; } header; struct { struct nmb_name question_name; int question_type; int question_class; } question; struct res_rec *answers; struct res_rec *nsrecs; struct res_rec *additional; }; # 502 "include/nameserv.h" struct dgram_packet { struct { int msg_type; struct { enum node_type node_type; BOOL first; BOOL more; } flags; int dgm_id; struct in_addr source_ip; int source_port; int dgm_length; int packet_offset; } header; struct nmb_name source_name; struct nmb_name dest_name; int datasize; char data[(576)]; }; struct packet_struct { struct packet_struct *next; struct packet_struct *prev; BOOL locked; struct in_addr ip; int port; int fd; time_t timestamp; enum packet_type packet_type; union { struct nmb_packet nmb; struct dgram_packet dgram; } packet; }; # 604 "include/nameserv.h" extern struct subnet_record *subnetlist; extern struct subnet_record *unicast_subnet; extern struct subnet_record *wins_server_subnet; extern struct subnet_record *remote_broadcast_subnet; typedef struct _WINS_RECORD { char name[17]; char type; int nb_flags; int wins_flags; unsigned long long id; int num_ips; struct in_addr ip[25]; struct in_addr wins_ip; } WINS_RECORD; enum state_type { TEST }; # 790 "include/includes.h" 2 # 1 "include/secrets.h" 1 # 54 "include/secrets.h" struct machine_acct_pass { unsigned char hash[16]; time_t mod_time; }; typedef struct trusted_dom_pass { size_t uni_name_len; smb_ucs2_t uni_name[32]; size_t pass_len; fstring pass; time_t mod_time; DOM_SID domain_sid; } TRUSTED_DOM_PASS; typedef struct trustdom { smb_ucs2_t *name; DOM_SID sid; } TRUSTDOM; struct afs_key { unsigned int kvno; char key[8]; }; struct afs_keyfile { unsigned int nkeys; struct afs_key entry[8]; }; # 792 "include/includes.h" 2 # 1 "include/byteorder.h" 1 # 794 "include/includes.h" 2 # 1 "include/privileges.h" 1 # 42 "include/privileges.h" typedef struct LUID { unsigned int low; unsigned int high; } LUID; typedef struct LUID_ATTR { LUID luid; unsigned int attr; } LUID_ATTR ; typedef struct privilege_set { unsigned int count; unsigned int control; LUID_ATTR *set; } PRIVILEGE_SET; typedef struct _PRIVS { unsigned int se_priv; const char *priv; const char *description; } PRIVS; # 796 "include/includes.h" 2 # 1 "include/rpc_creds.h" 1 # 26 "include/rpc_creds.h" typedef struct ntuser_creds { fstring user_name; fstring domain; struct pwd_info pwd; unsigned int 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 { unsigned int uid; unsigned int gid; int num_grps; unsigned int *grps; } CREDS_UNIX_SEC; typedef struct ntsec_creds { DOM_SID sid; unsigned int num_grps; unsigned int *grp_rids; } CREDS_NT_SEC; typedef struct user_creds { BOOL reuse; unsigned int ptr_ntc; unsigned int ptr_uxc; unsigned int ptr_nts; unsigned int ptr_uxs; unsigned int ptr_ssk; CREDS_NT ntc; CREDS_UNIX uxc; CREDS_NT_SEC nts; CREDS_UNIX_SEC uxs; unsigned char usr_sess_key[16]; } CREDS_HYBRID; typedef struct cred_command { unsigned short version; unsigned short command; unsigned int pid; fstring name; unsigned int ptr_creds; CREDS_HYBRID *cred; } CREDS_CMD; # 798 "include/includes.h" 2 # 1 "include/mapping.h" 1 # 25 "include/mapping.h" typedef struct _GROUP_MAP { struct pdb_methods *methods; gid_t gid; DOM_SID sid; enum SID_NAME_USE sid_name_use; fstring nt_name; fstring comment; } GROUP_MAP; # 800 "include/includes.h" 2 # 1 "include/passdb.h" 1 # 31 "include/passdb.h" enum pdb_elements { PDB_UNINIT, PDB_SMBHOME, PDB_PROFILE, PDB_DRIVE, PDB_LOGONSCRIPT, PDB_LOGONTIME, PDB_LOGOFFTIME, PDB_KICKOFFTIME, PDB_CANCHANGETIME, PDB_MUSTCHANGETIME, PDB_PLAINTEXT_PW, PDB_USERNAME, PDB_FULLNAME, PDB_DOMAIN, PDB_NTUSERNAME, PDB_HOURSLEN, PDB_LOGONDIVS, PDB_USERSID, PDB_GROUPSID, PDB_ACCTCTRL, PDB_PASSLASTSET, PDB_UNIXHOMEDIR, PDB_ACCTDESC, PDB_WORKSTATIONS, PDB_UNKNOWNSTR, PDB_MUNGEDDIAL, PDB_HOURS, PDB_UNKNOWN3, PDB_UNKNOWN5, PDB_UNKNOWN6, PDB_LMPASSWD, PDB_NTPASSWD, PDB_BACKEND_PRIVATE_DATA, PDB_COUNT }; enum pdb_group_elements { PDB_GROUP_NAME, PDB_GROUP_SID, PDB_GROUP_SID_NAME_USE, PDB_GROUP_MEMBERS, PDB_GROUP_COUNT }; enum pdb_value_state { PDB_DEFAULT=0, PDB_SET, PDB_CHANGED }; typedef struct sam_passwd { TALLOC_CTX *mem_ctx; void (*free_fn)(struct sam_passwd **); struct pdb_methods *methods; struct user_data { struct bitmap *change_flags; struct bitmap *set_flags; time_t logon_time; time_t logoff_time; time_t kickoff_time; time_t pass_last_set_time; time_t pass_can_change_time; time_t pass_must_change_time; const char * username; const char * domain; const char * nt_username; const char * full_name; const char * unix_home_dir; const char * home_dir; const char * dir_drive; const char * logon_script; const char * profile_path; const char * acct_desc ; const char * workstations; const char * unknown_str ; const char * munged_dial ; DOM_SID user_sid; DOM_SID group_sid; DATA_BLOB lm_pw; DATA_BLOB nt_pw; char* plaintext_pw; unsigned short acct_ctrl; unsigned int unknown_3; unsigned short logon_divs; unsigned int hours_len; unsigned char hours[32]; unsigned int unknown_5; unsigned int unknown_6; const struct pdb_methods *backend_private_methods; void *backend_private_data; void (*backend_private_data_free_fn)(void **); } private; } SAM_ACCOUNT; typedef struct sam_group { TALLOC_CTX *mem_ctx; void (*free_fn)(struct sam_group **); struct pdb_methods *methods; struct group_data { struct bitmap *change_flags; struct bitmap *set_flags; const char *name; DOM_SID sid; enum SID_NAME_USE sid_name_use; unsigned int mem_num; DOM_SID *members; } private; } SAM_GROUP; # 187 "include/passdb.h" typedef struct pdb_context { struct pdb_methods *pdb_methods; struct pdb_methods *pwent_methods; NTSTATUS (*pdb_setsampwent)(struct pdb_context *, BOOL update); void (*pdb_endsampwent)(struct pdb_context *); NTSTATUS (*pdb_getsampwent)(struct pdb_context *, SAM_ACCOUNT *user); NTSTATUS (*pdb_getsampwnam)(struct pdb_context *, SAM_ACCOUNT *sam_acct, const char *username); NTSTATUS (*pdb_getsampwsid)(struct pdb_context *, SAM_ACCOUNT *sam_acct, const DOM_SID *sid); NTSTATUS (*pdb_add_sam_account)(struct pdb_context *, SAM_ACCOUNT *sampass); NTSTATUS (*pdb_update_sam_account)(struct pdb_context *, SAM_ACCOUNT *sampass); NTSTATUS (*pdb_delete_sam_account)(struct pdb_context *, SAM_ACCOUNT *username); NTSTATUS (*pdb_getgrsid)(struct pdb_context *context, GROUP_MAP *map, DOM_SID sid); NTSTATUS (*pdb_getgrgid)(struct pdb_context *context, GROUP_MAP *map, gid_t gid); NTSTATUS (*pdb_getgrnam)(struct pdb_context *context, GROUP_MAP *map, const char *name); NTSTATUS (*pdb_add_group_mapping_entry)(struct pdb_context *context, GROUP_MAP *map); NTSTATUS (*pdb_update_group_mapping_entry)(struct pdb_context *context, GROUP_MAP *map); NTSTATUS (*pdb_delete_group_mapping_entry)(struct pdb_context *context, DOM_SID sid); NTSTATUS (*pdb_enum_group_mapping)(struct pdb_context *context, enum SID_NAME_USE sid_name_use, GROUP_MAP **rmap, int *num_entries, BOOL unix_only); void (*free_fn)(struct pdb_context **); TALLOC_CTX *mem_ctx; } PDB_CONTEXT; typedef struct pdb_methods { const char *name; struct pdb_context *parent; struct pdb_methods *next; struct pdb_methods *prev; NTSTATUS (*setsampwent)(struct pdb_methods *, BOOL update); void (*endsampwent)(struct pdb_methods *); NTSTATUS (*getsampwent)(struct pdb_methods *, SAM_ACCOUNT *user); NTSTATUS (*getsampwnam)(struct pdb_methods *, SAM_ACCOUNT *sam_acct, const char *username); NTSTATUS (*getsampwsid)(struct pdb_methods *, SAM_ACCOUNT *sam_acct, const DOM_SID *sid); NTSTATUS (*add_sam_account)(struct pdb_methods *, SAM_ACCOUNT *sampass); NTSTATUS (*update_sam_account)(struct pdb_methods *, SAM_ACCOUNT *sampass); NTSTATUS (*delete_sam_account)(struct pdb_methods *, SAM_ACCOUNT *username); NTSTATUS (*getgrsid)(struct pdb_methods *methods, GROUP_MAP *map, DOM_SID sid); NTSTATUS (*getgrgid)(struct pdb_methods *methods, GROUP_MAP *map, gid_t gid); NTSTATUS (*getgrnam)(struct pdb_methods *methods, GROUP_MAP *map, const char *name); NTSTATUS (*add_group_mapping_entry)(struct pdb_methods *methods, GROUP_MAP *map); NTSTATUS (*update_group_mapping_entry)(struct pdb_methods *methods, GROUP_MAP *map); NTSTATUS (*delete_group_mapping_entry)(struct pdb_methods *methods, DOM_SID sid); NTSTATUS (*enum_group_mapping)(struct pdb_methods *methods, enum SID_NAME_USE sid_name_use, GROUP_MAP **rmap, int *num_entries, BOOL unix_only); void *private_data; void (*free_private_data)(void **); } PDB_METHODS; typedef NTSTATUS (*pdb_init_function)(struct pdb_context *, struct pdb_methods **, const char *); struct pdb_init_function_entry { const char *name; pdb_init_function init; struct pdb_init_function_entry *prev, *next; }; # 802 "include/includes.h" 2 # 1 "include/ntdomain.h" 1 # 27 "include/ntdomain.h" # 1 "include/rpc_dce.h" 1 # 26 "include/rpc_dce.h" # 1 "include/rpc_misc.h" 1 # 23 "include/rpc_misc.h" # 1 "include/ntdomain.h" 1 # 24 "include/rpc_misc.h" 2 # 1 "include/rpc_dce.h" 1 # 25 "include/rpc_misc.h" 2 # 84 "include/rpc_misc.h" typedef struct enum_hnd_info { unsigned int ptr_hnd; unsigned int handle; } ENUM_HND; typedef struct lookup_level_info { unsigned short value; } LOOKUP_LEVEL; typedef struct sid_info_2 { unsigned int num_auths; DOM_SID sid; } DOM_SID2; typedef struct header_info { unsigned short str_str_len; unsigned short str_max_len; unsigned int buffer; } STRHDR; typedef struct unihdr_info { unsigned short uni_str_len; unsigned short uni_max_len; unsigned int buffer; } UNIHDR; typedef struct unihdr2_info { UNIHDR unihdr; unsigned int buffer; } UNIHDR2; typedef struct unistr_info { unsigned short *buffer; } UNISTR; typedef struct bufhdr_info { unsigned int buf_max_len; unsigned int buf_len; } BUFHDR; typedef struct buffer2_info { unsigned int buf_max_len; unsigned int undoc; unsigned int buf_len; unsigned short *buffer; } BUFFER2; typedef struct buffer3_info { unsigned int buf_max_len; unsigned char *buffer; unsigned int buf_len; } BUFFER3; typedef struct buffer5_info { unsigned int buf_len; unsigned short *buffer; } BUFFER5; typedef struct unistr2_info { unsigned int uni_max_len; unsigned int undoc; unsigned int uni_str_len; unsigned short *buffer; } UNISTR2; typedef struct string2_info { unsigned int str_max_len; unsigned int undoc; unsigned int str_str_len; unsigned char *buffer; } STRING2; typedef struct unistr3_info { unsigned int uni_str_len; UNISTR str; } UNISTR3; typedef struct { unsigned short length; unsigned short size; unsigned int ref_id; UNISTR2 string; } UNISTR2_ARRAY_EL; typedef struct { unsigned int ref_id; unsigned int count; UNISTR2_ARRAY_EL *strings; } UNISTR2_ARRAY; typedef struct { unsigned int ref_id; DOM_SID2 sid; } SID_ARRAY_EL; typedef struct { unsigned int ref_id; unsigned int count; SID_ARRAY_EL *sids; } SID_ARRAY; typedef struct domrid2_info { unsigned char type; unsigned int rid; unsigned int rid_idx; } DOM_RID2; typedef struct domrid3_info { unsigned int rid; unsigned int type1; unsigned int ptr_type; unsigned int type2; unsigned int unk; } DOM_RID3; typedef struct domrid4_info { unsigned int unknown; unsigned short attr; unsigned int rid; } DOM_RID4; typedef struct clnt_srv_info { unsigned int undoc_buffer; UNISTR2 uni_logon_srv; unsigned int undoc_buffer2; UNISTR2 uni_comp_name; } DOM_CLNT_SRV; typedef struct log_info { unsigned int undoc_buffer; UNISTR2 uni_logon_srv; UNISTR2 uni_acct_name; unsigned short sec_chan; UNISTR2 uni_comp_name; } DOM_LOG_INFO; typedef struct chal_info { unsigned char data[8]; } DOM_CHAL; typedef struct cred_info { DOM_CHAL challenge; UTIME timestamp; } DOM_CRED; typedef struct clnt_info { DOM_LOG_INFO login; DOM_CRED cred; } DOM_CLNT_INFO; typedef struct clnt_info2 { DOM_CLNT_SRV login; unsigned int ptr_cred; DOM_CRED cred; } DOM_CLNT_INFO2; typedef struct logon_info { unsigned int low; unsigned int high; } DOM_LOGON_ID; typedef struct owf_info { unsigned char data[16]; } OWF_INFO; typedef struct gid_info { unsigned int g_rid; unsigned int attr; } DOM_GID; typedef struct lsa_policy_info { unsigned int data1; unsigned int data2; unsigned short data3; unsigned short data4; unsigned char data5[8]; # 370 "include/rpc_misc.h" } POLICY_HND; typedef struct _cli_auth_fns cli_auth_fns; struct user_creds; struct cli_connection { char *srv_name; char *pipe_name; struct user_creds usr_creds; struct cli_state *pCli_state; cli_auth_fns *auth; void *auth_info; void *auth_creds; }; typedef struct rpc_hnd_node { POLICY_HND hnd; struct cli_connection *cli; } RPC_HND_NODE; typedef struct uint64_s { unsigned int low; unsigned int high; } UINT64_S; typedef struct bufhdr2_info { unsigned int info_level; unsigned int length; unsigned int buffer; } BUFHDR2; typedef struct buffer4_info { unsigned int buf_len; unsigned char buffer[512]; } BUFFER4; # 27 "include/rpc_dce.h" 2 enum RPC_PKT_TYPE { RPC_REQUEST = 0x00, RPC_RESPONSE = 0x02, RPC_FAULT = 0x03, RPC_BIND = 0x0B, RPC_BINDACK = 0x0C, RPC_BINDNACK = 0x0D, RPC_ALTCONT = 0x0E, RPC_ALTCONTRESP = 0x0F, RPC_BINDRESP = 0x10 }; # 68 "include/rpc_dce.h" enum netsec_direction { SENDER_IS_INITIATOR, SENDER_IS_ACCEPTOR }; # 88 "include/rpc_dce.h" typedef struct rpc_uuid { unsigned int time_low; unsigned short time_mid; unsigned short time_hi_and_version; unsigned char remaining[8]; } RPC_UUID; typedef struct rpc_iface_info { RPC_UUID uuid; unsigned int version; } RPC_IFACE; struct pipe_id_info { const char *client_pipe; RPC_IFACE abstr_syntax; const char *server_pipe; RPC_IFACE trans_syntax; }; typedef struct rpc_hdr_info { unsigned char major; unsigned char minor; unsigned char pkt_type; unsigned char flags; unsigned char pack_type[4]; unsigned short frag_len; unsigned short auth_len; unsigned int call_id; } RPC_HDR; typedef struct rpc_hdr_req_info { unsigned int alloc_hint; unsigned short context_id; unsigned short opnum; } RPC_HDR_REQ; typedef struct rpc_hdr_resp_info { unsigned int alloc_hint; unsigned short context_id; unsigned char cancel_count; unsigned char reserved; } RPC_HDR_RESP; typedef struct rpc_hdr_fault_info { NTSTATUS status; unsigned int reserved; } RPC_HDR_FAULT; # 175 "include/rpc_dce.h" typedef struct rpc_addr_info { unsigned short len; fstring str; } RPC_ADDR_STR; typedef struct rpc_hdr_bba_info { unsigned short max_tsize; unsigned short max_rsize; unsigned int assoc_gid; } RPC_HDR_BBA; typedef struct rpc_hdr_autha_info { unsigned short max_tsize; unsigned short max_rsize; unsigned char auth_type; unsigned char auth_level; unsigned char stub_type_len; unsigned char padding; unsigned int unknown; } RPC_HDR_AUTHA; typedef struct rpc_hdr_auth_info { unsigned char auth_type; unsigned char auth_level; unsigned char padding; unsigned char reserved; unsigned int auth_context; } RPC_HDR_AUTH; typedef struct rpc_auth_netsec_neg_info { unsigned int type1; unsigned int type2; fstring domain; fstring myname; } RPC_AUTH_NETSEC_NEG; typedef struct rpc_auth_netsec_chk_info { unsigned char sig [8]; unsigned char packet_digest[8]; unsigned char seq_num[8]; unsigned char data8[8]; } RPC_AUTH_NETSEC_CHK; struct netsec_auth_struct { unsigned char sess_key[16]; unsigned int seq_num; }; typedef struct rpc_bind_req_info { RPC_HDR_BBA bba; unsigned int num_elements; unsigned short context_id; unsigned char num_syntaxes; RPC_IFACE abstract; RPC_IFACE transfer; } RPC_HDR_RB; # 273 "include/rpc_dce.h" typedef struct rpc_results_info { unsigned char num_results; unsigned short result; unsigned short reason; } RPC_RESULTS; typedef struct rpc_hdr_ba_info { RPC_HDR_BBA bba; RPC_ADDR_STR addr ; RPC_RESULTS res ; RPC_IFACE transfer; } RPC_HDR_BA; typedef struct rpc_auth_verif_info { fstring signature; unsigned int msg_type; } RPC_AUTH_VERIFIER; typedef struct rpc_auth_ntlmssp_neg_info { unsigned int neg_flgs; STRHDR hdr_myname; STRHDR hdr_domain; fstring myname; fstring domain; } RPC_AUTH_NTLMSSP_NEG; typedef struct rpc_auth_ntlmssp_chal_info { unsigned int unknown_1; unsigned int unknown_2; unsigned int neg_flags; unsigned char challenge[8]; unsigned char reserved [8]; } RPC_AUTH_NTLMSSP_CHAL; typedef struct rpc_auth_ntlmssp_resp_info { STRHDR hdr_lm_resp; STRHDR hdr_nt_resp; STRHDR hdr_domain; STRHDR hdr_usr; STRHDR hdr_wks; STRHDR hdr_sess_key; unsigned int neg_flags; fstring sess_key; fstring wks; fstring user; fstring domain; fstring nt_resp; fstring lm_resp; } RPC_AUTH_NTLMSSP_RESP; typedef struct rpc_auth_ntlmssp_chk_info { unsigned int ver; unsigned int reserved; unsigned int crc32; unsigned int seq_num; } RPC_AUTH_NTLMSSP_CHK; # 28 "include/ntdomain.h" 2 # 1 "include/rpc_misc.h" 1 # 31 "include/ntdomain.h" 2 # 41 "include/ntdomain.h" typedef struct _prs_struct { BOOL io; BOOL bigendian_data; unsigned char align; BOOL is_dynamic; unsigned int data_offset; unsigned int buffer_size; unsigned int grow_size; char *data_p; TALLOC_CTX *mem_ctx; } prs_struct; # 73 "include/ntdomain.h" typedef struct _output_data { prs_struct rdata; unsigned int data_sent_length; unsigned char current_pdu[0x10b8]; unsigned int current_pdu_len; unsigned int current_pdu_sent; } output_data; typedef struct _input_data { unsigned char current_in_pdu[0x10b8]; unsigned int pdu_needed_len; unsigned int pdu_received_len; prs_struct data; } input_data; struct policy { struct policy *next, *prev; POLICY_HND pol_hnd; void *data_ptr; void (*free_fn)(void *); }; struct handle_list { struct policy *Policy; size_t count; size_t pipe_ref_count; }; struct dcinfo { DOM_CHAL clnt_chal; DOM_CHAL srv_chal; DOM_CRED clnt_cred; DOM_CRED srv_cred; unsigned char sess_key[8]; unsigned char md4pw[16]; fstring mach_acct; fstring remote_machine; BOOL challenge_sent; BOOL got_session_key; BOOL authenticated; }; typedef struct pipe_rpc_fns { struct pipe_rpc_fns *next, *prev; struct api_struct *cmds; int n_cmds; unsigned int context_id; } PIPE_RPC_FNS; typedef struct pipes_struct { struct pipes_struct *next, *prev; connection_struct *conn; unsigned short vuid; fstring name; fstring pipe_srv_name; PIPE_RPC_FNS *contexts; RPC_HDR hdr; RPC_HDR_REQ hdr_req; unsigned int ntlmssp_chal_flags; BOOL ntlmssp_auth_requested; BOOL ntlmssp_auth_validated; unsigned char challenge[8]; unsigned char ntlmssp_hash[258]; unsigned int ntlmssp_seq_num; struct dcinfo dc; BOOL netsec_auth_validated; struct netsec_auth_struct netsec_auth; fstring user_name; fstring domain; fstring wks; fstring pipe_user_name; struct current_user pipe_user; unsigned char session_key[16]; BOOL pipe_bound; BOOL fault_state; BOOL bad_handle_fault_state; BOOL endian; input_data in_data; output_data out_data; TALLOC_CTX *mem_ctx; struct handle_list *pipe_handles; } pipes_struct; typedef struct smb_np_struct { struct smb_np_struct *next, *prev; int pnum; connection_struct *conn; unsigned short vuid; BOOL open; unsigned short device_state; unsigned short priority; fstring name; int max_trans_reply; void *np_state; # 310 "include/ntdomain.h" void * (*namedpipe_create)(char *pipe_name, connection_struct *conn, unsigned short vuid); ssize_t (*namedpipe_transact)(void *np_state, char *data, int len, char *rdata, int rlen, BOOL *pipe_outstanding); ssize_t (*namedpipe_write)(void * np_state, char *data, size_t n); # 340 "include/ntdomain.h" ssize_t (*namedpipe_read)(void * np_state, char *data, size_t max_len, BOOL *pipe_outstanding); # 351 "include/ntdomain.h" BOOL (*namedpipe_close)(void * np_state); } smb_np_struct; struct api_struct { const char *name; unsigned char opnum; BOOL (*fn) (pipes_struct *); }; typedef struct { unsigned int rid; const char *name; } rid_name; struct acct_info { fstring acct_name; fstring acct_desc; unsigned int rid; }; # 389 "include/ntdomain.h" # 1 "include/rpc_secdes.h" 1 # 118 "include/rpc_secdes.h" typedef struct guid_info { unsigned char info[16]; } GUID; typedef struct security_info_info { unsigned int mask; } SEC_ACCESS; typedef struct security_ace_info { unsigned char type; unsigned char flags; unsigned short size; SEC_ACCESS info; unsigned int obj_flags; GUID obj_guid; GUID inh_guid; DOM_SID trustee; } SEC_ACE; # 160 "include/rpc_secdes.h" typedef struct security_acl_info { unsigned short revision; unsigned short size; unsigned int num_aces; SEC_ACE *ace; } SEC_ACL; # 179 "include/rpc_secdes.h" typedef struct security_descriptor_info { unsigned short revision; unsigned short type; unsigned int off_owner_sid; unsigned int off_grp_sid ; unsigned int off_sacl ; unsigned int off_dacl ; SEC_ACL *dacl; SEC_ACL *sacl; DOM_SID *owner_sid; DOM_SID *grp_sid; } SEC_DESC; typedef struct sec_desc_buf_info { unsigned int max_len; unsigned int ptr; unsigned int len; SEC_DESC *sec; } SEC_DESC_BUF; typedef struct generic_mapping { unsigned int generic_read; unsigned int generic_write; unsigned int generic_execute; unsigned int generic_all; } GENERIC_MAPPING; typedef struct standard_mapping { unsigned int std_read; unsigned int std_write; unsigned int std_execute; unsigned int std_all; } STANDARD_MAPPING; # 390 "include/ntdomain.h" 2 # 1 "include/authdata.h" 1 # 25 "include/authdata.h" # 1 "include/rpc_misc.h" 1 # 26 "include/authdata.h" 2 typedef struct unknown_type_10 { NTTIME unknown_time; unsigned short len; unsigned short *username; } UNKNOWN_TYPE_10; typedef struct pac_signature_data { unsigned int type; unsigned char *signature; } PAC_SIGNATURE_DATA; typedef struct group_membership { unsigned int rid; unsigned int attrs; } GROUP_MEMBERSHIP; typedef struct group_membership_array { unsigned int count; GROUP_MEMBERSHIP *group_membership; } GROUP_MEMBERSHIP_ARRAY; typedef struct krb_sid_and_attrs { unsigned int sid_ptr; unsigned int attrs; DOM_SID2 *sid; } KRB_SID_AND_ATTRS; typedef struct krb_sid_and_attr_array { unsigned int count; KRB_SID_AND_ATTRS *krb_sid_and_attrs; } KRB_SID_AND_ATTR_ARRAY; typedef struct pac_logon_info { NTTIME logon_time; NTTIME logoff_time; NTTIME kickoff_time; NTTIME pass_last_set_time; NTTIME pass_can_change_time; NTTIME pass_must_change_time; UNIHDR hdr_user_name; UNIHDR hdr_full_name; UNIHDR hdr_logon_script; UNIHDR hdr_profile_path; UNIHDR hdr_home_dir; UNIHDR hdr_dir_drive; unsigned short logon_count; unsigned short reserved12; unsigned int user_rid; unsigned int group_rid; unsigned int group_count; unsigned int group_membership_ptr; unsigned int user_flags; unsigned int reserved13[4]; UNIHDR hdr_dom_controller; UNIHDR hdr_dom_name; unsigned int ptr_dom_sid; unsigned int reserved16[2]; unsigned int reserved17; unsigned int reserved18[7]; unsigned int sid_count; unsigned int ptr_extra_sids; unsigned int ptr_res_group_dom_sid; unsigned int res_group_count; unsigned int ptr_res_groups; UNISTR2 uni_user_name; UNISTR2 uni_full_name; UNISTR2 uni_logon_script; UNISTR2 uni_profile_path; UNISTR2 uni_home_dir; UNISTR2 uni_dir_drive; UNISTR2 uni_dom_controller; UNISTR2 uni_dom_name; DOM_SID2 dom_sid; GROUP_MEMBERSHIP_ARRAY groups; KRB_SID_AND_ATTR_ARRAY extra_sids; DOM_SID2 res_group_dom_sid; GROUP_MEMBERSHIP_ARRAY res_groups; } PAC_LOGON_INFO; typedef struct pac_info_ctr { union { PAC_LOGON_INFO *logon_info; PAC_SIGNATURE_DATA *srv_cksum; PAC_SIGNATURE_DATA *privsrv_cksum; UNKNOWN_TYPE_10 *type_10; } pac; } PAC_INFO_CTR; typedef struct pac_info_hdr { unsigned int type; unsigned int size; unsigned int offset; unsigned int offsethi; PAC_INFO_CTR *ctr; } PAC_INFO_HDR; typedef struct pac_data { unsigned int num_buffers; unsigned int version; PAC_INFO_HDR *pac_info_hdr_ptr; } PAC_DATA; # 393 "include/ntdomain.h" 2 # 1 "include/rpc_lsa.h" 1 # 26 "include/rpc_lsa.h" # 1 "include/rpc_misc.h" 1 # 27 "include/rpc_lsa.h" 2 # 88 "include/rpc_lsa.h" typedef struct dom_query_info { unsigned short uni_dom_max_len; unsigned short uni_dom_str_len; unsigned int buffer_dom_name; unsigned int buffer_dom_sid; UNISTR2 uni_domain_name; DOM_SID2 dom_sid; } DOM_QUERY; typedef DOM_QUERY DOM_QUERY_3; typedef DOM_QUERY DOM_QUERY_5; typedef struct dom_query_2 { unsigned int auditing_enabled; unsigned int count1; unsigned int count2; unsigned int *auditsettings; } DOM_QUERY_2; typedef struct dom_query_6 { unsigned short server_role; } DOM_QUERY_6; typedef struct seq_qos_info { unsigned int len; unsigned short sec_imp_level; unsigned char sec_ctxt_mode; unsigned char effective_only; } LSA_SEC_QOS; typedef struct obj_attr_info { unsigned int len; unsigned int ptr_root_dir; unsigned int ptr_obj_name; unsigned int attributes; unsigned int ptr_sec_desc; unsigned int ptr_sec_qos; LSA_SEC_QOS *sec_qos; } LSA_OBJ_ATTR; typedef struct lsa_q_open_pol_info { unsigned int ptr; unsigned short system_name; LSA_OBJ_ATTR attr ; unsigned int des_access; } LSA_Q_OPEN_POL; typedef struct lsa_r_open_pol_info { POLICY_HND pol; NTSTATUS status; } LSA_R_OPEN_POL; typedef struct lsa_q_open_pol2_info { unsigned int ptr; UNISTR2 uni_server_name; LSA_OBJ_ATTR attr ; unsigned int des_access; } LSA_Q_OPEN_POL2; typedef struct lsa_r_open_pol2_info { POLICY_HND pol; NTSTATUS status; } LSA_R_OPEN_POL2; # 225 "include/rpc_lsa.h" typedef struct lsa_query_sec_obj_info { POLICY_HND pol; unsigned int sec_info; } LSA_Q_QUERY_SEC_OBJ; typedef struct r_lsa_query_sec_obj_info { unsigned int ptr; SEC_DESC_BUF *buf; NTSTATUS status; } LSA_R_QUERY_SEC_OBJ; typedef struct lsa_query_info { POLICY_HND pol; unsigned short info_class; } LSA_Q_QUERY_INFO; typedef union lsa_info_union { DOM_QUERY_2 id2; DOM_QUERY_3 id3; DOM_QUERY_5 id5; DOM_QUERY_6 id6; } LSA_INFO_UNION; typedef struct lsa_r_query_info { unsigned int undoc_buffer; unsigned short info_class; LSA_INFO_UNION dom; NTSTATUS status; } LSA_R_QUERY_INFO; typedef struct lsa_dns_dom_info { UNIHDR hdr_nb_dom_name; UNIHDR hdr_dns_dom_name; UNIHDR hdr_forest_name; GUID dom_guid; UNISTR2 uni_nb_dom_name; UNISTR2 uni_dns_dom_name; UNISTR2 uni_forest_name; unsigned int ptr_dom_sid; DOM_SID2 dom_sid; } LSA_DNS_DOM_INFO; typedef union lsa_info2_union { LSA_DNS_DOM_INFO dns_dom_info; } LSA_INFO2_UNION; typedef struct lsa_q_query_info2 { POLICY_HND pol; unsigned short info_class; } LSA_Q_QUERY_INFO2; typedef struct lsa_r_query_info2 { unsigned int ptr; unsigned short info_class; LSA_INFO2_UNION info; NTSTATUS status; } LSA_R_QUERY_INFO2; typedef struct lsa_enum_trust_dom_info { POLICY_HND pol; unsigned int enum_context; unsigned int preferred_len; } LSA_Q_ENUM_TRUST_DOM; typedef struct lsa_r_enum_trust_dom_info { unsigned int enum_context; unsigned int num_domains; unsigned int ptr_enum_domains; unsigned int num_domains2; UNIHDR2 *hdr_domain_name; UNISTR2 *uni_domain_name; DOM_SID2 *domain_sid; NTSTATUS status; } LSA_R_ENUM_TRUST_DOM; typedef struct lsa_q_close_info { POLICY_HND pol; } LSA_Q_CLOSE; typedef struct lsa_r_close_info { POLICY_HND pol; NTSTATUS status; } LSA_R_CLOSE; typedef struct dom_trust_hdr { UNIHDR hdr_dom_name; unsigned int ptr_dom_sid; } DOM_TRUST_HDR; typedef struct dom_trust_info { UNISTR2 uni_dom_name; DOM_SID2 ref_dom ; } DOM_TRUST_INFO; typedef struct dom_ref_info { unsigned int num_ref_doms_1; unsigned int ptr_ref_dom; unsigned int max_entries; unsigned int num_ref_doms_2; DOM_TRUST_HDR hdr_ref_dom[32]; DOM_TRUST_INFO ref_dom [32]; } DOM_R_REF; typedef struct lsa_trans_name_info { unsigned short sid_name_use; UNIHDR hdr_name; unsigned int domain_idx; } LSA_TRANS_NAME; typedef struct lsa_trans_name_enum_info { unsigned int num_entries; unsigned int ptr_trans_names; unsigned int num_entries2; LSA_TRANS_NAME *name; UNISTR2 *uni_name; } LSA_TRANS_NAME_ENUM; typedef struct lsa_sid_enum_info { unsigned int num_entries; unsigned int ptr_sid_enum; unsigned int num_entries2; unsigned int *ptr_sid; DOM_SID2 *sid; } LSA_SID_ENUM; typedef struct lsa_q_lookup_sids { POLICY_HND pol; LSA_SID_ENUM sids; LSA_TRANS_NAME_ENUM names; LOOKUP_LEVEL level; unsigned int mapped_count; } LSA_Q_LOOKUP_SIDS; typedef struct lsa_r_lookup_sids { unsigned int ptr_dom_ref; DOM_R_REF *dom_ref; LSA_TRANS_NAME_ENUM *names; unsigned int mapped_count; NTSTATUS status; } LSA_R_LOOKUP_SIDS; typedef struct lsa_q_lookup_names { POLICY_HND pol; unsigned int num_entries; unsigned int num_entries2; UNIHDR *hdr_name; UNISTR2 *uni_name; unsigned int num_trans_entries; unsigned int ptr_trans_sids; unsigned int lookup_level; unsigned int mapped_count; } LSA_Q_LOOKUP_NAMES; typedef struct lsa_r_lookup_names { unsigned int ptr_dom_ref; DOM_R_REF *dom_ref; unsigned int num_entries; unsigned int ptr_entries; unsigned int num_entries2; DOM_RID2 *dom_rid; unsigned int mapped_count; NTSTATUS status; } LSA_R_LOOKUP_NAMES; typedef struct lsa_q_open_secret { unsigned int dummy; } LSA_Q_OPEN_SECRET; typedef struct lsa_r_open_secret { unsigned int dummy1; unsigned int dummy2; unsigned int dummy3; unsigned int dummy4; NTSTATUS status; } LSA_R_OPEN_SECRET; typedef struct lsa_enum_priv_entry { UNIHDR hdr_name; unsigned int luid_low; unsigned int luid_high; UNISTR2 name; } LSA_PRIV_ENTRY; typedef struct lsa_q_enum_privs { POLICY_HND pol; unsigned int enum_context; unsigned int pref_max_length; } LSA_Q_ENUM_PRIVS; typedef struct lsa_r_enum_privs { unsigned int enum_context; unsigned int count; unsigned int ptr; unsigned int count1; LSA_PRIV_ENTRY *privs; NTSTATUS status; } LSA_R_ENUM_PRIVS; typedef struct { POLICY_HND pol; DOM_SID2 sid; } LSA_Q_ENUM_ACCT_RIGHTS; typedef struct { unsigned int count; UNISTR2_ARRAY rights; NTSTATUS status; } LSA_R_ENUM_ACCT_RIGHTS; typedef struct { POLICY_HND pol; DOM_SID2 sid; UNISTR2_ARRAY rights; unsigned int count; } LSA_Q_ADD_ACCT_RIGHTS; typedef struct { NTSTATUS status; } LSA_R_ADD_ACCT_RIGHTS; typedef struct { POLICY_HND pol; DOM_SID2 sid; unsigned int removeall; UNISTR2_ARRAY rights; unsigned int count; } LSA_Q_REMOVE_ACCT_RIGHTS; typedef struct { NTSTATUS status; } LSA_R_REMOVE_ACCT_RIGHTS; typedef struct lsa_q_priv_get_dispname { POLICY_HND pol; UNIHDR hdr_name; UNISTR2 name; unsigned short lang_id; unsigned short lang_id_sys; } LSA_Q_PRIV_GET_DISPNAME; typedef struct lsa_r_priv_get_dispname { unsigned int ptr_info; UNIHDR hdr_desc; UNISTR2 desc; unsigned short lang_id; NTSTATUS status; } LSA_R_PRIV_GET_DISPNAME; typedef struct lsa_q_enum_accounts { POLICY_HND pol; unsigned int enum_context; unsigned int pref_max_length; } LSA_Q_ENUM_ACCOUNTS; typedef struct lsa_r_enum_accounts { unsigned int enum_context; LSA_SID_ENUM sids; NTSTATUS status; } LSA_R_ENUM_ACCOUNTS; typedef struct lsa_q_unk_get_connuser { unsigned int ptr_srvname; UNISTR2 uni2_srvname; unsigned int unk1; unsigned int unk2; unsigned int unk3; } LSA_Q_UNK_GET_CONNUSER; typedef struct lsa_r_unk_get_connuser { unsigned int ptr_user_name; UNIHDR hdr_user_name; UNISTR2 uni2_user_name; unsigned int unk1; unsigned int ptr_dom_name; UNIHDR hdr_dom_name; UNISTR2 uni2_dom_name; NTSTATUS status; } LSA_R_UNK_GET_CONNUSER; typedef struct lsa_q_openaccount { POLICY_HND pol; DOM_SID2 sid; unsigned int access; } LSA_Q_OPENACCOUNT; typedef struct lsa_r_openaccount { POLICY_HND pol; NTSTATUS status; } LSA_R_OPENACCOUNT; typedef struct lsa_q_enumprivsaccount { POLICY_HND pol; } LSA_Q_ENUMPRIVSACCOUNT; typedef struct lsa_r_enumprivsaccount { unsigned int ptr; unsigned int count; PRIVILEGE_SET set; NTSTATUS status; } LSA_R_ENUMPRIVSACCOUNT; typedef struct lsa_q_getsystemaccount { POLICY_HND pol; } LSA_Q_GETSYSTEMACCOUNT; typedef struct lsa_r_getsystemaccount { unsigned int access; NTSTATUS status; } LSA_R_GETSYSTEMACCOUNT; typedef struct lsa_q_setsystemaccount { POLICY_HND pol; unsigned int access; } LSA_Q_SETSYSTEMACCOUNT; typedef struct lsa_r_setsystemaccount { NTSTATUS status; } LSA_R_SETSYSTEMACCOUNT; typedef struct lsa_q_lookupprivvalue { POLICY_HND pol; UNIHDR hdr_right; UNISTR2 uni2_right; } LSA_Q_LOOKUPPRIVVALUE; typedef struct lsa_r_lookupprivvalue { LUID luid; NTSTATUS status; } LSA_R_LOOKUPPRIVVALUE; typedef struct lsa_q_addprivs { POLICY_HND pol; unsigned int count; PRIVILEGE_SET set; } LSA_Q_ADDPRIVS; typedef struct lsa_r_addprivs { NTSTATUS status; } LSA_R_ADDPRIVS; typedef struct lsa_q_removeprivs { POLICY_HND pol; unsigned int allrights; unsigned int ptr; unsigned int count; PRIVILEGE_SET set; } LSA_Q_REMOVEPRIVS; typedef struct lsa_r_removeprivs { NTSTATUS status; } LSA_R_REMOVEPRIVS; # 396 "include/ntdomain.h" 2 # 1 "include/rpc_netlogon.h" 1 # 131 "include/rpc_netlogon.h" typedef struct net_user_info_3 { unsigned int ptr_user_info; NTTIME logon_time; NTTIME logoff_time; NTTIME kickoff_time; NTTIME pass_last_set_time; NTTIME pass_can_change_time; NTTIME pass_must_change_time; UNIHDR hdr_user_name; UNIHDR hdr_full_name; UNIHDR hdr_logon_script; UNIHDR hdr_profile_path; UNIHDR hdr_home_dir; UNIHDR hdr_dir_drive; unsigned short logon_count; unsigned short bad_pw_count; unsigned int user_rid; unsigned int group_rid; unsigned int num_groups; unsigned int buffer_groups; unsigned int user_flgs; unsigned char user_sess_key[16]; UNIHDR hdr_logon_srv; UNIHDR hdr_logon_dom; unsigned int buffer_dom_id; unsigned char padding[40]; unsigned int num_other_sids; unsigned int buffer_other_sids; UNISTR2 uni_user_name; UNISTR2 uni_full_name; UNISTR2 uni_logon_script; UNISTR2 uni_profile_path; UNISTR2 uni_home_dir; UNISTR2 uni_dir_drive; unsigned int num_groups2; DOM_GID *gids; UNISTR2 uni_logon_srv; UNISTR2 uni_logon_dom; DOM_SID2 dom_sid; unsigned int num_other_groups; DOM_GID *other_gids; DOM_SID2 *other_sids; } NET_USER_INFO_3; typedef struct netlogon_1_info { unsigned int flags; unsigned int pdc_status; } NETLOGON_INFO_1; typedef struct netlogon_2_info { unsigned int flags; unsigned int pdc_status; unsigned int ptr_trusted_dc_name; unsigned int tc_status; UNISTR2 uni_trusted_dc_name; } NETLOGON_INFO_2; typedef struct netlogon_3_info { unsigned int flags; unsigned int logon_attempts; unsigned int reserved_1; unsigned int reserved_2; unsigned int reserved_3; unsigned int reserved_4; unsigned int reserved_5; } NETLOGON_INFO_3; # 235 "include/rpc_netlogon.h" typedef struct net_q_logon_ctrl_info { unsigned int ptr; UNISTR2 uni_server_name; unsigned int function_code; unsigned int query_level; } NET_Q_LOGON_CTRL; typedef struct net_r_logon_ctrl_info { unsigned int switch_value; unsigned int ptr; union { NETLOGON_INFO_1 info1; } logon; NTSTATUS status; } NET_R_LOGON_CTRL; # 266 "include/rpc_netlogon.h" typedef struct net_q_logon_ctrl2_info { unsigned int ptr; UNISTR2 uni_server_name; unsigned int function_code; unsigned int query_level; unsigned int switch_value; } NET_Q_LOGON_CTRL2; # 284 "include/rpc_netlogon.h" typedef struct net_r_logon_ctrl2_info { unsigned int switch_value; unsigned int ptr; union { NETLOGON_INFO_1 info1; NETLOGON_INFO_2 info2; NETLOGON_INFO_3 info3; } logon; NTSTATUS status; } NET_R_LOGON_CTRL2; typedef struct net_q_trust_dom_info { unsigned int ptr; UNISTR2 uni_server_name; } NET_Q_TRUST_DOM_LIST; typedef struct net_r_trust_dom_info { UNISTR2 uni_trust_dom_name[1]; NTSTATUS status; } NET_R_TRUST_DOM_LIST; typedef struct neg_flags_info { unsigned int neg_flags; } NEG_FLAGS; typedef struct net_q_req_chal_info { unsigned int undoc_buffer; UNISTR2 uni_logon_srv; UNISTR2 uni_logon_clnt; DOM_CHAL clnt_chal; } NET_Q_REQ_CHAL; typedef struct net_r_req_chal_info { DOM_CHAL srv_chal; NTSTATUS status; } NET_R_REQ_CHAL; typedef struct net_q_auth_info { DOM_LOG_INFO clnt_id; DOM_CHAL clnt_chal; } NET_Q_AUTH; typedef struct net_r_auth_info { DOM_CHAL srv_chal; NTSTATUS status; } NET_R_AUTH; typedef struct net_q_auth2_info { DOM_LOG_INFO clnt_id; DOM_CHAL clnt_chal; NEG_FLAGS clnt_flgs; } NET_Q_AUTH_2; typedef struct net_r_auth2_info { DOM_CHAL srv_chal; NEG_FLAGS srv_flgs; NTSTATUS status; } NET_R_AUTH_2; typedef struct net_q_auth3_info { DOM_LOG_INFO clnt_id; DOM_CHAL clnt_chal; NEG_FLAGS clnt_flgs; } NET_Q_AUTH_3; typedef struct net_r_auth3_info { DOM_CHAL srv_chal; NEG_FLAGS srv_flgs; unsigned int unknown; NTSTATUS status; } NET_R_AUTH_3; typedef struct net_q_srv_pwset_info { DOM_CLNT_INFO clnt_id; unsigned char pwd[16]; } NET_Q_SRV_PWSET; typedef struct net_r_srv_pwset_info { DOM_CRED srv_cred; NTSTATUS status; } NET_R_SRV_PWSET; typedef struct net_network_info_2 { unsigned int ptr_id_info2; UNIHDR hdr_domain_name; unsigned int param_ctrl; DOM_LOGON_ID logon_id; UNIHDR hdr_user_name; UNIHDR hdr_wksta_name; unsigned char lm_chal[8]; STRHDR hdr_nt_chal_resp; STRHDR hdr_lm_chal_resp; UNISTR2 uni_domain_name; UNISTR2 uni_user_name; UNISTR2 uni_wksta_name; STRING2 nt_chal_resp; STRING2 lm_chal_resp; } NET_ID_INFO_2; typedef struct id_info_1 { unsigned int ptr_id_info1; UNIHDR hdr_domain_name; unsigned int param_ctrl; DOM_LOGON_ID logon_id; UNIHDR hdr_user_name; UNIHDR hdr_wksta_name; OWF_INFO lm_owf; OWF_INFO nt_owf; UNISTR2 uni_domain_name; UNISTR2 uni_user_name; UNISTR2 uni_wksta_name; } NET_ID_INFO_1; typedef struct net_id_info_ctr_info { unsigned short switch_value; union { NET_ID_INFO_1 id1; NET_ID_INFO_2 id2; } auth; } NET_ID_INFO_CTR; typedef struct sam_info { DOM_CLNT_INFO2 client; unsigned int ptr_rtn_cred; DOM_CRED rtn_cred; unsigned short logon_level; NET_ID_INFO_CTR *ctr; } DOM_SAM_INFO; typedef struct net_q_sam_logon_info { DOM_SAM_INFO sam_id; unsigned short validation_level; } NET_Q_SAM_LOGON; typedef struct net_r_sam_logon_info { unsigned int buffer_creds; DOM_CRED srv_creds; unsigned short switch_value; NET_USER_INFO_3 *user; unsigned int auth_resp; NTSTATUS status; } NET_R_SAM_LOGON; typedef struct net_q_sam_logoff_info { DOM_SAM_INFO sam_id; } NET_Q_SAM_LOGOFF; typedef struct net_r_sam_logoff_info { unsigned int buffer_creds; DOM_CRED srv_creds; NTSTATUS status; } NET_R_SAM_LOGOFF; typedef struct net_q_sam_sync_info { UNISTR2 uni_srv_name; UNISTR2 uni_cli_name; DOM_CRED cli_creds; DOM_CRED ret_creds; unsigned int database_id; unsigned int restart_state; unsigned int sync_context; unsigned int max_size; } NET_Q_SAM_SYNC; typedef struct sam_delta_hdr_info { unsigned short type; unsigned short type2; unsigned int target_rid; unsigned int type3; unsigned int ptr_delta; } SAM_DELTA_HDR; typedef struct sam_domain_info_info { UNIHDR hdr_dom_name; UNIHDR hdr_oem_info; UINT64_S force_logoff; unsigned short min_pwd_len; unsigned short pwd_history_len; UINT64_S max_pwd_age; UINT64_S min_pwd_age; UINT64_S dom_mod_count; NTTIME creation_time; BUFHDR2 hdr_sec_desc; UNIHDR hdr_unknown; unsigned char reserved[40]; UNISTR2 uni_dom_name; UNISTR2 buf_oem_info; BUFFER4 buf_sec_desc; UNISTR2 buf_unknown; } SAM_DOMAIN_INFO; typedef struct sam_group_info_info { UNIHDR hdr_grp_name; DOM_GID gid; UNIHDR hdr_grp_desc; BUFHDR2 hdr_sec_desc; unsigned char reserved[48]; UNISTR2 uni_grp_name; UNISTR2 uni_grp_desc; BUFFER4 buf_sec_desc; } SAM_GROUP_INFO; typedef struct sam_passwd_info { unsigned int unk_0; UNIHDR hdr_lm_pwd; unsigned char buf_lm_pwd[16]; UNIHDR hdr_nt_pwd; unsigned char buf_nt_pwd[16]; UNIHDR hdr_empty_lm; UNIHDR hdr_empty_nt; } SAM_PWD; typedef struct sam_account_info_info { UNIHDR hdr_acct_name; UNIHDR hdr_full_name; unsigned int user_rid; unsigned int group_rid; UNIHDR hdr_home_dir; UNIHDR hdr_dir_drive; UNIHDR hdr_logon_script; UNIHDR hdr_acct_desc; UNIHDR hdr_workstations; NTTIME logon_time; NTTIME logoff_time; unsigned int logon_divs; unsigned int ptr_logon_hrs; unsigned short bad_pwd_count; unsigned short logon_count; NTTIME pwd_last_set_time; NTTIME acct_expiry_time; unsigned int acb_info; unsigned char nt_pwd[16]; unsigned char lm_pwd[16]; unsigned char nt_pwd_present; unsigned char lm_pwd_present; unsigned char pwd_expired; UNIHDR hdr_comment; UNIHDR hdr_parameters; unsigned short country; unsigned short codepage; BUFHDR2 hdr_sec_desc; UNIHDR hdr_profile; UNIHDR hdr_reserved[3]; unsigned int dw_reserved[4]; UNISTR2 uni_acct_name; UNISTR2 uni_full_name; UNISTR2 uni_home_dir; UNISTR2 uni_dir_drive; UNISTR2 uni_logon_script; UNISTR2 uni_acct_desc; UNISTR2 uni_workstations; unsigned int unknown1; unsigned int unknown2; BUFFER4 buf_logon_hrs; UNISTR2 uni_comment; UNISTR2 uni_parameters; SAM_PWD pass; BUFFER4 buf_sec_desc; UNISTR2 uni_profile; } SAM_ACCOUNT_INFO; typedef struct sam_group_mem_info_info { unsigned int ptr_rids; unsigned int ptr_attribs; unsigned int num_members; unsigned char unknown[16]; unsigned int num_members2; unsigned int *rids; unsigned int num_members3; unsigned int *attribs; } SAM_GROUP_MEM_INFO; typedef struct sam_alias_info_info { UNIHDR hdr_als_name; unsigned int als_rid; BUFHDR2 hdr_sec_desc; UNIHDR hdr_als_desc; unsigned char reserved[40]; UNISTR2 uni_als_name; BUFFER4 buf_sec_desc; UNISTR2 uni_als_desc; } SAM_ALIAS_INFO; typedef struct sam_alias_mem_info_info { unsigned int num_members; unsigned int ptr_members; unsigned char unknown[16]; unsigned int num_sids; unsigned int *ptr_sids; DOM_SID2 *sids; } SAM_ALIAS_MEM_INFO; typedef struct { unsigned int max_log_size; UINT64_S audit_retention_period; unsigned int auditing_mode; unsigned int num_events; unsigned int ptr_events; UNIHDR hdr_dom_name; unsigned int sid_ptr; unsigned int paged_pool_limit; unsigned int non_paged_pool_limit; unsigned int min_workset_size; unsigned int max_workset_size; unsigned int page_file_limit; UINT64_S time_limit; NTTIME modify_time; NTTIME create_time; BUFHDR2 hdr_sec_desc; unsigned int num_event_audit_options; unsigned int event_audit_option; UNISTR2 domain_name; DOM_SID2 domain_sid; BUFFER4 buf_sec_desc; } SAM_DELTA_POLICY; typedef struct { unsigned int buf_size; SEC_DESC *sec_desc; DOM_SID2 sid; UNIHDR hdr_domain; unsigned int unknown0; unsigned int unknown1; unsigned int unknown2; unsigned int buf_size2; unsigned int ptr; unsigned int unknown3; UNISTR2 domain; } SAM_DELTA_TRUSTDOMS; typedef struct { DOM_SID2 sid; unsigned int priv_count; unsigned int priv_control; unsigned int priv_attr_ptr; unsigned int priv_name_ptr; unsigned int paged_pool_limit; unsigned int non_paged_pool_limit; unsigned int min_workset_size; unsigned int max_workset_size; unsigned int page_file_limit; UINT64_S time_limit; unsigned int system_flags; BUFHDR2 hdr_sec_desc; unsigned int buf_size2; unsigned int attribute_count; unsigned int *attributes; unsigned int privlist_count; UNIHDR *hdr_privslist; UNISTR2 *uni_privslist; BUFFER4 buf_sec_desc; } SAM_DELTA_PRIVS; typedef struct { unsigned int buf_size; SEC_DESC *sec_desc; UNISTR2 secret; unsigned int count1; unsigned int count2; unsigned int ptr; NTTIME time1; unsigned int count3; unsigned int count4; unsigned int ptr2; NTTIME time2; unsigned int unknow1; unsigned int buf_size2; unsigned int ptr3; unsigned int unknow2; unsigned int chal_len; unsigned int reserved1; unsigned int chal_len2; unsigned char chal[16]; unsigned int key_len; unsigned int reserved2; unsigned int key_len2; unsigned char key[8]; unsigned int buf_size3; SEC_DESC *sec_desc2; } SAM_DELTA_SECRET; typedef struct { unsigned int seqnum; unsigned int dom_mod_count_ptr; UINT64_S dom_mod_count; } SAM_DELTA_MOD_COUNT; typedef union sam_delta_ctr_info { SAM_DOMAIN_INFO domain_info ; SAM_GROUP_INFO group_info ; SAM_ACCOUNT_INFO account_info; SAM_GROUP_MEM_INFO grp_mem_info; SAM_ALIAS_INFO alias_info ; SAM_ALIAS_MEM_INFO als_mem_info; SAM_DELTA_POLICY policy_info; SAM_DELTA_PRIVS privs_info; SAM_DELTA_MOD_COUNT mod_count; SAM_DELTA_TRUSTDOMS trustdoms_info; SAM_DELTA_SECRET secret_info; } SAM_DELTA_CTR; typedef struct net_r_sam_sync_info { DOM_CRED srv_creds; unsigned int sync_context; unsigned int ptr_deltas; unsigned int num_deltas; unsigned int ptr_deltas2; unsigned int num_deltas2; SAM_DELTA_HDR *hdr_deltas; SAM_DELTA_CTR *deltas; NTSTATUS status; } NET_R_SAM_SYNC; typedef struct net_q_sam_deltas_info { UNISTR2 uni_srv_name; UNISTR2 uni_cli_name; DOM_CRED cli_creds; DOM_CRED ret_creds; unsigned int database_id; UINT64_S dom_mod_count; unsigned int max_size; } NET_Q_SAM_DELTAS; typedef struct net_r_sam_deltas_info { DOM_CRED srv_creds; UINT64_S dom_mod_count; unsigned int ptr_deltas; unsigned int num_deltas; unsigned int num_deltas2; SAM_DELTA_HDR *hdr_deltas; SAM_DELTA_CTR *deltas; NTSTATUS status; } NET_R_SAM_DELTAS; # 397 "include/ntdomain.h" 2 # 1 "include/rpc_reg.h" 1 # 90 "include/rpc_reg.h" typedef struct { fstring valuename; unsigned short type; unsigned int size; unsigned char *data_p; } REGISTRY_VALUE; typedef struct { TALLOC_CTX *ctx; unsigned int num_values; REGISTRY_VALUE **values; } REGVAL_CTR; typedef struct { TALLOC_CTX *ctx; unsigned int num_subkeys; char **subkeys; } REGSUBKEY_CTR; typedef struct { int (*subkey_fn)( char *key, REGSUBKEY_CTR *subkeys); int (*value_fn) ( char *key, REGVAL_CTR *val ); BOOL (*store_subkeys_fn)( char *key, REGSUBKEY_CTR *subkeys ); BOOL (*store_values_fn)( char *key, REGVAL_CTR *val ); } REGISTRY_OPS; typedef struct { const char *keyname; REGISTRY_OPS *ops; } REGISTRY_HOOK; typedef struct _RegistryKey { struct _RegistryKey *prev, *next; POLICY_HND hnd; pstring name; REGISTRY_HOOK *hook; } REGISTRY_KEY; typedef struct q_reg_open_hkcr_info { unsigned int ptr; unsigned short unknown_0; unsigned short unknown_1; unsigned int level; } REG_Q_OPEN_HKCR ; typedef struct r_reg_open_hkcr_info { POLICY_HND pol; NTSTATUS status; } REG_R_OPEN_HKCR; typedef struct q_reg_open_hklm_info { unsigned int ptr; unsigned short unknown_0; unsigned short unknown_1; unsigned int access_mask; } REG_Q_OPEN_HKLM; typedef struct r_reg_open_hklm_info { POLICY_HND pol; NTSTATUS status; } REG_R_OPEN_HKLM; typedef struct q_reg_open_hku_info { unsigned int ptr; unsigned short unknown_0; unsigned short unknown_1; unsigned int access_mask; } REG_Q_OPEN_HKU; typedef struct r_reg_open_hku_info { POLICY_HND pol; NTSTATUS status; } REG_R_OPEN_HKU; typedef struct q_reg_open_flush_key_info { POLICY_HND pol; } REG_Q_FLUSH_KEY; typedef struct r_reg_open_flush_key_info { NTSTATUS status; } REG_R_FLUSH_KEY; typedef struct q_reg_set_key_sec_info { POLICY_HND pol; unsigned int sec_info; unsigned int ptr; BUFHDR hdr_sec; SEC_DESC_BUF *data; } REG_Q_SET_KEY_SEC; typedef struct r_reg_set_key_sec_info { NTSTATUS status; } REG_R_SET_KEY_SEC; typedef struct q_reg_get_key_sec_info { POLICY_HND pol; unsigned int sec_info; unsigned int ptr; BUFHDR hdr_sec; SEC_DESC_BUF *data; } REG_Q_GET_KEY_SEC; typedef struct r_reg_get_key_sec_info { unsigned int sec_info; unsigned int ptr; BUFHDR hdr_sec; SEC_DESC_BUF *data; NTSTATUS status; } REG_R_GET_KEY_SEC; typedef struct q_reg_create_value_info { POLICY_HND pol; UNIHDR hdr_name; UNISTR2 uni_name; unsigned int type; BUFFER3 *buf_value; } REG_Q_CREATE_VALUE; typedef struct r_reg_create_value_info { NTSTATUS status; } REG_R_CREATE_VALUE; typedef struct q_reg_query_value_info { POLICY_HND pol; unsigned int val_index; UNIHDR hdr_name; UNISTR2 uni_name; unsigned int ptr_type; unsigned int type; unsigned int ptr_value; BUFFER2 buf_value; unsigned int ptr1; unsigned int len_value1; unsigned int ptr2; unsigned int len_value2; } REG_Q_ENUM_VALUE; typedef struct r_reg_enum_value_info { UNIHDR hdr_name; UNISTR2 uni_name; unsigned int ptr_type; unsigned int type; unsigned int ptr_value; BUFFER2 buf_value; unsigned int ptr1; unsigned int len_value1; unsigned int ptr2; unsigned int len_value2; NTSTATUS status; } REG_R_ENUM_VALUE; typedef struct q_reg_create_key_info { POLICY_HND pnt_pol; UNIHDR hdr_name; UNISTR2 uni_name; UNIHDR hdr_class; UNISTR2 uni_class; unsigned int reserved; SEC_ACCESS sam_access; unsigned int ptr1; unsigned int sec_info; unsigned int ptr2; BUFHDR hdr_sec; unsigned int ptr3; SEC_DESC_BUF *data; unsigned int unknown_2; } REG_Q_CREATE_KEY; typedef struct r_reg_create_key_info { POLICY_HND key_pol; unsigned int unknown; NTSTATUS status; } REG_R_CREATE_KEY; typedef struct q_reg_delete_key_info { POLICY_HND pnt_pol; UNIHDR hdr_name; UNISTR2 uni_name; } REG_Q_DELETE_KEY; typedef struct r_reg_delete_key_info { POLICY_HND key_pol; NTSTATUS status; } REG_R_DELETE_KEY; typedef struct q_reg_delete_val_info { POLICY_HND pnt_pol; UNIHDR hdr_name; UNISTR2 uni_name; } REG_Q_DELETE_VALUE; typedef struct r_reg_delete_val_info { POLICY_HND key_pol; NTSTATUS status; } REG_R_DELETE_VALUE; typedef struct q_reg_query_info { POLICY_HND pol; UNIHDR hdr_class; UNISTR2 uni_class; } REG_Q_QUERY_KEY; typedef struct r_reg_query_key_info { UNIHDR hdr_class; UNISTR2 uni_class; unsigned int num_subkeys; unsigned int max_subkeylen; unsigned int reserved; unsigned int num_values; unsigned int max_valnamelen; unsigned int max_valbufsize; unsigned int sec_desc; NTTIME mod_time; NTSTATUS status; } REG_R_QUERY_KEY; typedef struct q_reg_unk_1a_info { POLICY_HND pol; } REG_Q_UNKNOWN_1A; typedef struct r_reg_unk_1a_info { unsigned int unknown; NTSTATUS status; } REG_R_UNKNOWN_1A; typedef struct q_reg_unknown_14 { POLICY_HND pol; UNIHDR hdr_file; UNISTR2 uni_file; unsigned int unknown; } REG_Q_SAVE_KEY; typedef struct r_reg_unknown_14 { NTSTATUS status; } REG_R_SAVE_KEY; typedef struct reg_q_close_info { POLICY_HND pol; } REG_Q_CLOSE; typedef struct reg_r_close_info { POLICY_HND pol; NTSTATUS status; } REG_R_CLOSE; typedef struct q_reg_enum_value_info { POLICY_HND pol; unsigned int key_index; unsigned short key_name_len; unsigned short unknown_1; unsigned int ptr1; unsigned int unknown_2; unsigned char pad1[8]; unsigned int ptr2; unsigned char pad2[8]; unsigned int ptr3; NTTIME time; } REG_Q_ENUM_KEY; typedef struct r_reg_enum_key_info { unsigned short key_name_len; unsigned short unknown_1; unsigned int ptr1; unsigned int unknown_2; unsigned int unknown_3; UNISTR3 key_name; unsigned int ptr2; unsigned char pad2[8]; unsigned int ptr3; NTTIME time; NTSTATUS status; } REG_R_ENUM_KEY; typedef struct q_reg_info_info { POLICY_HND pol; UNIHDR hdr_type; UNISTR2 uni_type; unsigned int ptr_reserved; unsigned int ptr_buf; unsigned int ptr_bufsize; unsigned int bufsize; unsigned int buf_unk; unsigned int unk1; unsigned int ptr_buflen; unsigned int buflen; unsigned int ptr_buflen2; unsigned int buflen2; } REG_Q_INFO; typedef struct r_reg_info_info { unsigned int ptr_type; unsigned int type; unsigned int ptr_uni_val; BUFFER2 uni_val; unsigned int ptr_max_len; unsigned int buf_max_len; unsigned int ptr_len; unsigned int buf_len; NTSTATUS status; } REG_R_INFO; typedef struct q_reg_open_entry_info { POLICY_HND pol; UNIHDR hdr_name; UNISTR2 uni_name; unsigned int unknown_0; unsigned int access_desired; } REG_Q_OPEN_ENTRY; typedef struct r_reg_open_entry_info { POLICY_HND pol; NTSTATUS status; } REG_R_OPEN_ENTRY; typedef struct q_reg_shutdown_info { unsigned int ptr_0; unsigned int ptr_1; unsigned int ptr_2; UNIHDR hdr_msg; UNISTR2 uni_msg; unsigned int timeout; unsigned char force; unsigned char reboot; } REG_Q_SHUTDOWN; typedef struct r_reg_shutdown_info { NTSTATUS status; } REG_R_SHUTDOWN; typedef struct q_reg_abort_shutdown_info { unsigned int ptr_server; unsigned short server; } REG_Q_ABORT_SHUTDOWN; typedef struct r_reg_abort_shutdown_info { NTSTATUS status; } REG_R_ABORT_SHUTDOWN; # 398 "include/ntdomain.h" 2 # 1 "include/rpc_samr.h" 1 # 29 "include/rpc_samr.h" # 1 "include/rpc_misc.h" 1 # 30 "include/rpc_samr.h" 2 # 149 "include/rpc_samr.h" typedef struct logon_hours_info { unsigned int len; unsigned char hours[32]; } LOGON_HRS; typedef struct sam_user_info_23 { NTTIME logon_time; NTTIME logoff_time; NTTIME kickoff_time; NTTIME pass_last_set_time; NTTIME pass_can_change_time; NTTIME pass_must_change_time; UNIHDR hdr_user_name; UNIHDR hdr_full_name; UNIHDR hdr_home_dir; UNIHDR hdr_dir_drive; UNIHDR hdr_logon_script; UNIHDR hdr_profile_path; UNIHDR hdr_acct_desc ; UNIHDR hdr_workstations; UNIHDR hdr_unknown_str ; UNIHDR hdr_munged_dial ; unsigned char lm_pwd[16]; unsigned char nt_pwd[16]; unsigned int user_rid; unsigned int group_rid; unsigned int acb_info; unsigned int unknown_3; unsigned short logon_divs; unsigned int ptr_logon_hrs; unsigned int unknown_5; unsigned char padding1[6]; unsigned char passmustchange; unsigned char padding2; unsigned char pass[516]; UNISTR2 uni_user_name; UNISTR2 uni_full_name; UNISTR2 uni_home_dir; UNISTR2 uni_dir_drive; UNISTR2 uni_logon_script; UNISTR2 uni_profile_path; UNISTR2 uni_acct_desc ; UNISTR2 uni_workstations; UNISTR2 uni_unknown_str ; UNISTR2 uni_munged_dial ; unsigned int unknown_6; unsigned int padding4; LOGON_HRS logon_hrs; } SAM_USER_INFO_23; typedef struct sam_user_info_24 { unsigned char pass[516]; unsigned short pw_len; } SAM_USER_INFO_24; # 234 "include/rpc_samr.h" typedef struct sam_user_info_25 { NTTIME logon_time; NTTIME logoff_time; NTTIME kickoff_time; NTTIME pass_last_set_time; NTTIME pass_can_change_time; NTTIME pass_must_change_time; UNIHDR hdr_user_name; UNIHDR hdr_full_name; UNIHDR hdr_home_dir; UNIHDR hdr_dir_drive; UNIHDR hdr_logon_script; UNIHDR hdr_profile_path; UNIHDR hdr_acct_desc ; UNIHDR hdr_workstations; UNIHDR hdr_unknown_str ; UNIHDR hdr_munged_dial ; unsigned char lm_pwd[16]; unsigned char nt_pwd[16]; unsigned int user_rid; unsigned int group_rid; unsigned int acb_info; unsigned int unknown_6[6]; unsigned char pass[532]; UNISTR2 uni_user_name; UNISTR2 uni_full_name; UNISTR2 uni_home_dir; UNISTR2 uni_dir_drive; UNISTR2 uni_logon_script; UNISTR2 uni_profile_path; UNISTR2 uni_acct_desc ; UNISTR2 uni_workstations; UNISTR2 uni_unknown_str ; UNISTR2 uni_munged_dial ; } SAM_USER_INFO_25; typedef struct sam_user_info_21 { NTTIME logon_time; NTTIME logoff_time; NTTIME kickoff_time; NTTIME pass_last_set_time; NTTIME pass_can_change_time; NTTIME pass_must_change_time; UNIHDR hdr_user_name; UNIHDR hdr_full_name; UNIHDR hdr_home_dir; UNIHDR hdr_dir_drive; UNIHDR hdr_logon_script; UNIHDR hdr_profile_path; UNIHDR hdr_acct_desc ; UNIHDR hdr_workstations; UNIHDR hdr_unknown_str ; UNIHDR hdr_munged_dial ; unsigned char lm_pwd[16]; unsigned char nt_pwd[16]; unsigned int user_rid; unsigned int group_rid; unsigned int acb_info; unsigned int unknown_3; unsigned short logon_divs; unsigned int ptr_logon_hrs; unsigned int unknown_5; unsigned char padding1[6]; unsigned char passmustchange; unsigned char padding2; UNISTR2 uni_user_name; UNISTR2 uni_full_name; UNISTR2 uni_home_dir; UNISTR2 uni_dir_drive; UNISTR2 uni_logon_script; UNISTR2 uni_profile_path; UNISTR2 uni_acct_desc ; UNISTR2 uni_workstations; UNISTR2 uni_unknown_str ; UNISTR2 uni_munged_dial ; unsigned int unknown_6; unsigned int padding4; LOGON_HRS logon_hrs; } SAM_USER_INFO_21; typedef struct sam_user_info_20 { UNIHDR hdr_munged_dial ; UNISTR2 uni_munged_dial ; } SAM_USER_INFO_20; typedef struct sam_user_info_12 { unsigned char lm_pwd[16]; unsigned char nt_pwd[16]; unsigned char lm_pwd_active; unsigned char nt_pwd_active; } SAM_USER_INFO_12; typedef struct sam_user_info_11 { unsigned char padding_0[16]; NTTIME expiry; unsigned char padding_1[24]; UNIHDR hdr_mach_acct; unsigned int padding_2; unsigned int ptr_1; unsigned char padding_3[32]; unsigned int padding_4; unsigned int ptr_2; unsigned int padding_5; unsigned int ptr_3; unsigned char padding_6[32]; unsigned int rid_user; unsigned int rid_group; unsigned short acct_ctrl; unsigned short unknown_3; unsigned short unknown_4; unsigned short unknown_5; unsigned char padding_7[16]; unsigned int padding_8; UNISTR2 uni_mach_acct; unsigned char padding_9[48]; } SAM_USER_INFO_11; typedef struct sam_user_info_10 { unsigned int acb_info; } SAM_USER_INFO_10; typedef struct q_samr_close_hnd_info { POLICY_HND pol; } SAMR_Q_CLOSE_HND; typedef struct r_samr_close_hnd_info { POLICY_HND pol; NTSTATUS status; } SAMR_R_CLOSE_HND; typedef struct q_samr_usrdom_pwinfo_info { POLICY_HND user_pol; } SAMR_Q_GET_USRDOM_PWINFO; typedef struct r_samr_usrdom_pwinfo_info { unsigned short unknown_0; unsigned short unknown_1; unsigned int unknown_2; NTSTATUS status; } SAMR_R_GET_USRDOM_PWINFO; typedef struct q_samr_set_sec_obj_info { POLICY_HND pol; unsigned int sec_info; SEC_DESC_BUF *buf; } SAMR_Q_SET_SEC_OBJ; typedef struct r_samr_set_sec_obj_info { NTSTATUS status; } SAMR_R_SET_SEC_OBJ; typedef struct q_samr_query_sec_obj_info { POLICY_HND user_pol; unsigned int sec_info; } SAMR_Q_QUERY_SEC_OBJ; typedef struct r_samr_query_sec_obj_info { unsigned int ptr; SEC_DESC_BUF *buf; NTSTATUS status; } SAMR_R_QUERY_SEC_OBJ; typedef struct q_samr_query_domain_info { POLICY_HND domain_pol; unsigned short switch_value; } SAMR_Q_QUERY_DOMAIN_INFO; typedef struct sam_unknown_info_3_info { NTTIME logout; } SAM_UNK_INFO_3; typedef struct sam_unknown_info_6_info { unsigned int unknown_0; unsigned int ptr_0; unsigned char padding[12]; } SAM_UNK_INFO_6; typedef struct sam_unknown_info_7_info { unsigned short unknown_0; } SAM_UNK_INFO_7; typedef struct sam_unknown_info_12_inf { NTTIME duration; NTTIME reset_count; unsigned short bad_attempt_lockout; } SAM_UNK_INFO_12; typedef struct sam_unknown_info_5_inf { UNIHDR hdr_server; UNISTR2 uni_server; } SAM_UNK_INFO_5; typedef struct sam_unknown_info_2_inf { unsigned int unknown_0; unsigned int unknown_1; unsigned int unknown_2; unsigned int ptr_0; UNIHDR hdr_domain; UNIHDR hdr_server; unsigned int seq_num; unsigned int unknown_3; unsigned int unknown_4; unsigned int unknown_5; unsigned int unknown_6; unsigned int num_domain_usrs; unsigned int num_domain_grps; unsigned int num_local_grps; unsigned char padding[12]; UNISTR2 uni_domain; UNISTR2 uni_server; } SAM_UNK_INFO_2; typedef struct sam_unknown_info_1_inf { unsigned short min_length_password; unsigned short password_history; unsigned int flag; NTTIME expire; NTTIME min_passwordage; } SAM_UNK_INFO_1; typedef struct sam_unknown_ctr_info { union { SAM_UNK_INFO_1 inf1; SAM_UNK_INFO_2 inf2; SAM_UNK_INFO_3 inf3; SAM_UNK_INFO_5 inf5; SAM_UNK_INFO_6 inf6; SAM_UNK_INFO_7 inf7; SAM_UNK_INFO_12 inf12; } info; } SAM_UNK_CTR; typedef struct r_samr_query_domain_info { unsigned int ptr_0; unsigned short switch_value; SAM_UNK_CTR *ctr; NTSTATUS status; } SAMR_R_QUERY_DOMAIN_INFO; typedef struct q_samr_lookup_domain_info { POLICY_HND connect_pol; UNIHDR hdr_domain; UNISTR2 uni_domain; } SAMR_Q_LOOKUP_DOMAIN; typedef struct r_samr_lookup_domain_info { unsigned int ptr_sid; DOM_SID2 dom_sid; NTSTATUS status; } SAMR_R_LOOKUP_DOMAIN; # 652 "include/rpc_samr.h" typedef struct q_samr_open_domain_info { POLICY_HND pol; unsigned int flags; DOM_SID2 dom_sid; } SAMR_Q_OPEN_DOMAIN; typedef struct r_samr_open_domain_info { POLICY_HND domain_pol; NTSTATUS status; } SAMR_R_OPEN_DOMAIN; typedef struct samr_entry_info { unsigned int rid; UNIHDR hdr_name; } SAM_ENTRY; typedef struct q_samr_enum_domains_info { POLICY_HND pol; unsigned int start_idx; unsigned int max_size; } SAMR_Q_ENUM_DOMAINS; typedef struct r_samr_enum_domains_info { unsigned int next_idx; unsigned int ptr_entries1; unsigned int num_entries2; unsigned int ptr_entries2; unsigned int num_entries3; SAM_ENTRY *sam; UNISTR2 *uni_dom_name; unsigned int num_entries4; NTSTATUS status; } SAMR_R_ENUM_DOMAINS; typedef struct q_samr_enum_dom_users_info { POLICY_HND pol; unsigned int start_idx; unsigned short acb_mask; unsigned short unknown_1; unsigned int max_size; } SAMR_Q_ENUM_DOM_USERS; typedef struct r_samr_enum_dom_users_info { unsigned int next_idx; unsigned int ptr_entries1; unsigned int num_entries2; unsigned int ptr_entries2; unsigned int num_entries3; SAM_ENTRY *sam; UNISTR2 *uni_acct_name; unsigned int num_entries4; NTSTATUS status; } SAMR_R_ENUM_DOM_USERS; typedef struct q_samr_enum_dom_groups_info { POLICY_HND pol; unsigned int start_idx; unsigned int max_size; } SAMR_Q_ENUM_DOM_GROUPS; typedef struct r_samr_enum_dom_groups_info { unsigned int next_idx; unsigned int ptr_entries1; unsigned int num_entries2; unsigned int ptr_entries2; unsigned int num_entries3; SAM_ENTRY *sam; UNISTR2 *uni_grp_name; unsigned int num_entries4; NTSTATUS status; } SAMR_R_ENUM_DOM_GROUPS; typedef struct q_samr_enum_dom_aliases_info { POLICY_HND pol; unsigned int start_idx; unsigned int max_size; } SAMR_Q_ENUM_DOM_ALIASES; typedef struct r_samr_enum_dom_aliases_info { unsigned int next_idx; unsigned int ptr_entries1; unsigned int num_entries2; unsigned int ptr_entries2; unsigned int num_entries3; SAM_ENTRY *sam; UNISTR2 *uni_grp_name; unsigned int num_entries4; NTSTATUS status; } SAMR_R_ENUM_DOM_ALIASES; typedef struct samr_entry_info1 { unsigned int user_idx; unsigned int rid_user; unsigned short acb_info; UNIHDR hdr_acct_name; UNIHDR hdr_user_name; UNIHDR hdr_user_desc; } SAM_ENTRY1; typedef struct samr_str_entry_info1 { UNISTR2 uni_acct_name; UNISTR2 uni_full_name; UNISTR2 uni_acct_desc; } SAM_STR1; typedef struct sam_entry_info_1 { SAM_ENTRY1 *sam; SAM_STR1 *str; } SAM_DISPINFO_1; typedef struct samr_entry_info2 { unsigned int user_idx; unsigned int rid_user; unsigned short acb_info; UNIHDR hdr_srv_name; UNIHDR hdr_srv_desc; } SAM_ENTRY2; typedef struct samr_str_entry_info2 { UNISTR2 uni_srv_name; UNISTR2 uni_srv_desc; } SAM_STR2; typedef struct sam_entry_info_2 { SAM_ENTRY2 *sam; SAM_STR2 *str; } SAM_DISPINFO_2; typedef struct samr_entry_info3 { unsigned int grp_idx; unsigned int rid_grp; unsigned int attr; UNIHDR hdr_grp_name; UNIHDR hdr_grp_desc; } SAM_ENTRY3; typedef struct samr_str_entry_info3 { UNISTR2 uni_grp_name; UNISTR2 uni_grp_desc; } SAM_STR3; typedef struct sam_entry_info_3 { SAM_ENTRY3 *sam; SAM_STR3 *str; } SAM_DISPINFO_3; typedef struct samr_entry_info4 { unsigned int user_idx; STRHDR hdr_acct_name; } SAM_ENTRY4; typedef struct samr_str_entry_info4 { STRING2 acct_name; } SAM_STR4; typedef struct sam_entry_info_4 { SAM_ENTRY4 *sam; SAM_STR4 *str; } SAM_DISPINFO_4; typedef struct samr_entry_info5 { unsigned int grp_idx; STRHDR hdr_grp_name; } SAM_ENTRY5; typedef struct samr_str_entry_info5 { STRING2 grp_name; } SAM_STR5; typedef struct sam_entry_info_5 { SAM_ENTRY5 *sam; SAM_STR5 *str; } SAM_DISPINFO_5; typedef struct sam_dispinfo_ctr_info { union { SAM_DISPINFO_1 *info1; SAM_DISPINFO_2 *info2; SAM_DISPINFO_3 *info3; SAM_DISPINFO_4 *info4; SAM_DISPINFO_5 *info5; void *info; } sam; } SAM_DISPINFO_CTR; typedef struct q_samr_query_disp_info { POLICY_HND domain_pol; unsigned short switch_level; unsigned int start_idx; unsigned int max_entries; unsigned int max_size; } SAMR_Q_QUERY_DISPINFO; typedef struct r_samr_query_dispinfo_info { unsigned int total_size; unsigned int data_size; unsigned short switch_level; unsigned int num_entries; unsigned int ptr_entries; unsigned int num_entries2; SAM_DISPINFO_CTR *ctr; NTSTATUS status; } SAMR_R_QUERY_DISPINFO; typedef struct q_samr_delete_dom_group_info { POLICY_HND group_pol; } SAMR_Q_DELETE_DOM_GROUP; typedef struct r_samr_delete_dom_group_info { POLICY_HND pol; NTSTATUS status; } SAMR_R_DELETE_DOM_GROUP; typedef struct q_samr_create_dom_group_info { POLICY_HND pol; UNIHDR hdr_acct_desc; UNISTR2 uni_acct_desc; unsigned int access_mask; } SAMR_Q_CREATE_DOM_GROUP; typedef struct r_samr_create_dom_group_info { POLICY_HND pol; unsigned int rid; NTSTATUS status; } SAMR_R_CREATE_DOM_GROUP; typedef struct q_samr_query_group_info { POLICY_HND pol; unsigned short switch_level; } SAMR_Q_QUERY_GROUPINFO; typedef struct samr_group_info1 { UNIHDR hdr_acct_name; unsigned int unknown_1; unsigned int num_members; UNIHDR hdr_acct_desc; UNISTR2 uni_acct_name; UNISTR2 uni_acct_desc; } GROUP_INFO1; typedef struct samr_group_info3 { unsigned int unknown_1; } GROUP_INFO3; typedef struct samr_group_info4 { UNIHDR hdr_acct_desc; UNISTR2 uni_acct_desc; } GROUP_INFO4; typedef struct group_info_ctr { unsigned short switch_value1; union { GROUP_INFO1 info1; GROUP_INFO3 info3; GROUP_INFO4 info4; } group; } GROUP_INFO_CTR; typedef struct r_samr_query_groupinfo_info { unsigned int ptr; GROUP_INFO_CTR *ctr; NTSTATUS status; } SAMR_R_QUERY_GROUPINFO; typedef struct q_samr_set_group_info { POLICY_HND pol; GROUP_INFO_CTR *ctr; } SAMR_Q_SET_GROUPINFO; typedef struct r_samr_set_group_info { NTSTATUS status; } SAMR_R_SET_GROUPINFO; typedef struct q_samr_delete_dom_alias_info { POLICY_HND alias_pol; } SAMR_Q_DELETE_DOM_ALIAS; typedef struct r_samr_delete_dom_alias_info { POLICY_HND pol; NTSTATUS status; } SAMR_R_DELETE_DOM_ALIAS; typedef struct q_samr_create_dom_alias_info { POLICY_HND dom_pol; UNIHDR hdr_acct_desc; UNISTR2 uni_acct_desc; unsigned int access_mask; } SAMR_Q_CREATE_DOM_ALIAS; typedef struct r_samr_create_dom_alias_info { POLICY_HND alias_pol; unsigned int rid; NTSTATUS status; } SAMR_R_CREATE_DOM_ALIAS; typedef struct q_samr_query_alias_info { POLICY_HND pol; unsigned short switch_level; } SAMR_Q_QUERY_ALIASINFO; typedef struct samr_alias_info1 { UNIHDR hdr_acct_name; UNIHDR hdr_acct_desc; unsigned int num_member; UNISTR2 uni_acct_name; UNISTR2 uni_acct_desc; } ALIAS_INFO1; typedef struct samr_alias_info3 { UNIHDR hdr_acct_desc; UNISTR2 uni_acct_desc; } ALIAS_INFO3; typedef struct alias_info_ctr { unsigned short switch_value1; unsigned short switch_value2; union { ALIAS_INFO1 info1; ALIAS_INFO3 info3; } alias; } ALIAS_INFO_CTR; typedef struct r_samr_query_aliasinfo_info { unsigned int ptr; ALIAS_INFO_CTR ctr; NTSTATUS status; } SAMR_R_QUERY_ALIASINFO; typedef struct q_samr_set_alias_info { POLICY_HND alias_pol; ALIAS_INFO_CTR ctr; } SAMR_Q_SET_ALIASINFO; typedef struct r_samr_set_aliasinfo_info { NTSTATUS status; } SAMR_R_SET_ALIASINFO; typedef struct q_samr_query_usergroup_info { POLICY_HND pol; } SAMR_Q_QUERY_USERGROUPS; typedef struct r_samr_query_usergroup_info { unsigned int ptr_0; unsigned int num_entries; unsigned int ptr_1; unsigned int num_entries2; DOM_GID *gid; NTSTATUS status; } SAMR_R_QUERY_USERGROUPS; typedef struct sam_userinfo_ctr_info { unsigned short switch_value; union { SAM_USER_INFO_10 *id10; SAM_USER_INFO_11 *id11; SAM_USER_INFO_12 *id12; SAM_USER_INFO_20 *id20; SAM_USER_INFO_21 *id21; SAM_USER_INFO_23 *id23; SAM_USER_INFO_24 *id24; SAM_USER_INFO_25 *id25; void* id; } info; } SAM_USERINFO_CTR; typedef struct q_samr_set_user_info2 { POLICY_HND pol; unsigned short switch_value; SAM_USERINFO_CTR *ctr; } SAMR_Q_SET_USERINFO2; typedef struct r_samr_set_user_info2 { NTSTATUS status; } SAMR_R_SET_USERINFO2; typedef struct q_samr_set_user_info { POLICY_HND pol; unsigned short switch_value; SAM_USERINFO_CTR *ctr; } SAMR_Q_SET_USERINFO; typedef struct r_samr_set_user_info { NTSTATUS status; } SAMR_R_SET_USERINFO; typedef struct q_samr_query_user_info { POLICY_HND pol; unsigned short switch_value; } SAMR_Q_QUERY_USERINFO; typedef struct r_samr_query_user_info { unsigned int ptr; SAM_USERINFO_CTR *ctr; NTSTATUS status; } SAMR_R_QUERY_USERINFO; # 1332 "include/rpc_samr.h" typedef struct q_samr_query_useraliases_info { POLICY_HND pol; unsigned int num_sids1; unsigned int ptr; unsigned int num_sids2; unsigned int *ptr_sid; DOM_SID2 *sid ; } SAMR_Q_QUERY_USERALIASES; typedef struct r_samr_query_useraliases_info { unsigned int num_entries; unsigned int ptr; unsigned int num_entries2; unsigned int *rid; NTSTATUS status; } SAMR_R_QUERY_USERALIASES; typedef struct q_samr_lookup_names_info { POLICY_HND pol; unsigned int num_names1; unsigned int flags; unsigned int ptr; unsigned int num_names2; UNIHDR *hdr_name; UNISTR2 *uni_name; } SAMR_Q_LOOKUP_NAMES; typedef struct r_samr_lookup_names_info { unsigned int num_rids1; unsigned int ptr_rids; unsigned int num_rids2; unsigned int *rids; unsigned int num_types1; unsigned int ptr_types; unsigned int num_types2; unsigned int *types; NTSTATUS status; } SAMR_R_LOOKUP_NAMES; # 1405 "include/rpc_samr.h" typedef struct q_samr_lookup_rids_info { POLICY_HND pol; unsigned int num_rids1; unsigned int flags; unsigned int ptr; unsigned int num_rids2; unsigned int *rid; } SAMR_Q_LOOKUP_RIDS; typedef struct r_samr_lookup_rids_info { unsigned int num_names1; unsigned int ptr_names; unsigned int num_names2; UNIHDR *hdr_name; UNISTR2 *uni_name; unsigned int num_types1; unsigned int ptr_types; unsigned int num_types2; unsigned int *type; NTSTATUS status; } SAMR_R_LOOKUP_RIDS; typedef struct q_samr_open_user_info { POLICY_HND domain_pol; unsigned int access_mask; unsigned int user_rid; } SAMR_Q_OPEN_USER; typedef struct r_samr_open_user_info { POLICY_HND user_pol; NTSTATUS status; } SAMR_R_OPEN_USER; typedef struct q_samr_create_user_info { POLICY_HND domain_pol; UNIHDR hdr_name; UNISTR2 uni_name; unsigned int acb_info; unsigned int access_mask; } SAMR_Q_CREATE_USER; typedef struct r_samr_create_user_info { POLICY_HND user_pol; unsigned int access_granted; unsigned int user_rid; NTSTATUS status; } SAMR_R_CREATE_USER; typedef struct q_samr_delete_dom_user_info { POLICY_HND user_pol; } SAMR_Q_DELETE_DOM_USER; typedef struct r_samr_delete_dom_user_info { POLICY_HND pol; NTSTATUS status; } SAMR_R_DELETE_DOM_USER; typedef struct q_samr_query_groupmem_info { POLICY_HND group_pol; } SAMR_Q_QUERY_GROUPMEM; typedef struct r_samr_query_groupmem_info { unsigned int ptr; unsigned int num_entries; unsigned int ptr_rids; unsigned int ptr_attrs; unsigned int num_rids; unsigned int *rid; unsigned int num_attrs; unsigned int *attr; NTSTATUS status; } SAMR_R_QUERY_GROUPMEM; typedef struct q_samr_del_group_mem_info { POLICY_HND pol; unsigned int rid; } SAMR_Q_DEL_GROUPMEM; typedef struct r_samr_del_group_mem_info { NTSTATUS status; } SAMR_R_DEL_GROUPMEM; typedef struct q_samr_add_group_mem_info { POLICY_HND pol; unsigned int rid; unsigned int unknown; } SAMR_Q_ADD_GROUPMEM; typedef struct r_samr_add_group_mem_info { NTSTATUS status; } SAMR_R_ADD_GROUPMEM; typedef struct q_samr_open_group_info { POLICY_HND domain_pol; unsigned int access_mask; unsigned int rid_group; } SAMR_Q_OPEN_GROUP; typedef struct r_samr_open_group_info { POLICY_HND pol; NTSTATUS status; } SAMR_R_OPEN_GROUP; typedef struct q_samr_query_aliasmem_info { POLICY_HND alias_pol; } SAMR_Q_QUERY_ALIASMEM; typedef struct r_samr_query_aliasmem_info { unsigned int num_sids; unsigned int ptr; unsigned int num_sids1; DOM_SID2 *sid; NTSTATUS status; } SAMR_R_QUERY_ALIASMEM; typedef struct q_samr_add_alias_mem_info { POLICY_HND alias_pol; DOM_SID2 sid; } SAMR_Q_ADD_ALIASMEM; typedef struct r_samr_add_alias_mem_info { NTSTATUS status; } SAMR_R_ADD_ALIASMEM; typedef struct q_samr_del_alias_mem_info { POLICY_HND alias_pol; DOM_SID2 sid; } SAMR_Q_DEL_ALIASMEM; typedef struct r_samr_del_alias_mem_info { NTSTATUS status; } SAMR_R_DEL_ALIASMEM; typedef struct q_samr_open_alias_info { POLICY_HND dom_pol; unsigned int access_mask; unsigned int rid_alias; } SAMR_Q_OPEN_ALIAS; typedef struct r_samr_open_alias_info { POLICY_HND pol; NTSTATUS status; } SAMR_R_OPEN_ALIAS; typedef struct q_samr_connect_anon_info { unsigned int ptr; unsigned short unknown_0; unsigned short unknown_1; unsigned int access_mask; } SAMR_Q_CONNECT_ANON; typedef struct r_samr_connect_anon_info { POLICY_HND connect_pol; NTSTATUS status; } SAMR_R_CONNECT_ANON; typedef struct q_samr_connect_info { unsigned int ptr_srv_name; UNISTR2 uni_srv_name; unsigned int access_mask; } SAMR_Q_CONNECT; typedef struct r_samr_connect_info { POLICY_HND connect_pol; NTSTATUS status; } SAMR_R_CONNECT; typedef struct q_samr_connect4_info { unsigned int ptr_srv_name; UNISTR2 uni_srv_name; unsigned int unk_0; unsigned int access_mask; } SAMR_Q_CONNECT4; typedef struct r_samr_connect_info SAMR_R_CONNECT4; typedef struct q_samr_get_dom_pwinfo { unsigned int ptr; UNIHDR hdr_srv_name; UNISTR2 uni_srv_name; } SAMR_Q_GET_DOM_PWINFO; typedef struct r_samr_get_dom_pwinfo { unsigned int unk_0; unsigned int unk_1; unsigned int unk_2; NTSTATUS status; } SAMR_R_GET_DOM_PWINFO; typedef struct enc_passwd_info { unsigned int ptr; unsigned char pass[516]; } SAMR_ENC_PASSWD; typedef struct enc_hash_info { unsigned int ptr; unsigned char hash[16]; } SAMR_ENC_HASH; typedef struct q_samr_chgpasswd_user_info { unsigned int ptr_0; UNIHDR hdr_dest_host; UNISTR2 uni_dest_host; UNIHDR hdr_user_name; UNISTR2 uni_user_name; SAMR_ENC_PASSWD nt_newpass; SAMR_ENC_HASH nt_oldhash; unsigned int unknown; SAMR_ENC_PASSWD lm_newpass; SAMR_ENC_HASH lm_oldhash; } SAMR_Q_CHGPASSWD_USER; typedef struct r_samr_chgpasswd_user_info { NTSTATUS status; } SAMR_R_CHGPASSWD_USER; typedef struct q_samr_remove_user_foreign_domain_info { POLICY_HND dom_pol; DOM_SID2 sid; } SAMR_Q_REMOVE_USER_FOREIGN_DOMAIN; typedef struct r_samr_remove_user_foreign_domain_info { NTSTATUS status; } SAMR_R_REMOVE_USER_FOREIGN_DOMAIN; # 1812 "include/rpc_samr.h" typedef struct sid_info_3 { unsigned short len; DOM_SID sid; } DOM_SID3; typedef struct q_samr_unknown_2e_info { POLICY_HND domain_pol; unsigned short switch_value; } SAMR_Q_UNKNOWN_2E; typedef struct r_samr_unknown_2e_info { unsigned int ptr_0; unsigned short switch_value; SAM_UNK_CTR *ctr; NTSTATUS status; } SAMR_R_UNKNOWN_2E; typedef struct q_samr_set_domain_info { POLICY_HND domain_pol; unsigned short switch_value0; unsigned short switch_value; SAM_UNK_CTR *ctr; } SAMR_Q_SET_DOMAIN_INFO; typedef struct r_samr_set_domain_info { NTSTATUS status; } SAMR_R_SET_DOMAIN_INFO; # 399 "include/ntdomain.h" 2 # 1 "include/rpc_srvsvc.h" 1 # 49 "include/rpc_srvsvc.h" typedef struct disk_info { unsigned int unknown; UNISTR3 disk_name; } DISK_INFO; typedef struct disk_enum_container { unsigned int level; unsigned int entries_read; unsigned int unknown; unsigned int disk_info_ptr; DISK_INFO *disk_info; } DISK_ENUM_CONTAINER; typedef struct net_srv_disk_enum { unsigned int ptr_srv_name; UNISTR2 uni_srv_name; DISK_ENUM_CONTAINER disk_enum_ctr; unsigned int preferred_len; unsigned int total_entries; ENUM_HND enum_hnd; WERROR status; } SRV_Q_NET_DISK_ENUM, SRV_R_NET_DISK_ENUM; typedef struct net_name_validate { unsigned int ptr_srv_name; UNISTR2 uni_srv_name; UNISTR2 uni_name; unsigned int type; unsigned int flags; WERROR status; } SRV_Q_NET_NAME_VALIDATE, SRV_R_NET_NAME_VALIDATE; typedef struct ptr_sess_info0 { unsigned int ptr_name; } SESS_INFO_0; typedef struct str_sess_info0 { UNISTR2 uni_name; } SESS_INFO_0_STR; typedef struct srv_sess_info_0_info { unsigned int num_entries_read; unsigned int ptr_sess_info; unsigned int num_entries_read2; SESS_INFO_0 info_0 [32]; SESS_INFO_0_STR info_0_str[32]; } SRV_SESS_INFO_0; typedef struct ptr_sess_info1 { unsigned int ptr_name; unsigned int ptr_user; unsigned int num_opens; unsigned int open_time; unsigned int idle_time; unsigned int user_flags; } SESS_INFO_1; typedef struct str_sess_info1 { UNISTR2 uni_name; UNISTR2 uni_user; } SESS_INFO_1_STR; typedef struct srv_sess_info_1_info { unsigned int num_entries_read; unsigned int ptr_sess_info; unsigned int num_entries_read2; SESS_INFO_1 info_1 [32]; SESS_INFO_1_STR info_1_str[32]; } SRV_SESS_INFO_1; typedef struct srv_sess_info_ctr_info { unsigned int switch_value; unsigned int ptr_sess_ctr; union { SRV_SESS_INFO_0 info0; SRV_SESS_INFO_1 info1; } sess; } SRV_SESS_INFO_CTR; typedef struct q_net_sess_enum_info { unsigned int ptr_srv_name; UNISTR2 uni_srv_name; unsigned int ptr_qual_name; UNISTR2 uni_qual_name; unsigned int ptr_user_name; UNISTR2 uni_user_name; unsigned int sess_level; SRV_SESS_INFO_CTR *ctr; unsigned int preferred_len; ENUM_HND enum_hnd; } SRV_Q_NET_SESS_ENUM; typedef struct r_net_sess_enum_info { unsigned int sess_level; SRV_SESS_INFO_CTR *ctr; unsigned int total_entries; ENUM_HND enum_hnd; WERROR status; } SRV_R_NET_SESS_ENUM; typedef struct ptr_conn_info0 { unsigned int id; } CONN_INFO_0; typedef struct srv_conn_info_0_info { unsigned int num_entries_read; unsigned int ptr_conn_info; unsigned int num_entries_read2; CONN_INFO_0 info_0 [32]; } SRV_CONN_INFO_0; typedef struct ptr_conn_info1 { unsigned int id; unsigned int type; unsigned int num_opens; unsigned int num_users; unsigned int open_time; unsigned int ptr_usr_name; unsigned int ptr_net_name; } CONN_INFO_1; typedef struct str_conn_info1 { UNISTR2 uni_usr_name; UNISTR2 uni_net_name; } CONN_INFO_1_STR; typedef struct srv_conn_info_1_info { unsigned int num_entries_read; unsigned int ptr_conn_info; unsigned int num_entries_read2; CONN_INFO_1 info_1 [32]; CONN_INFO_1_STR info_1_str[32]; } SRV_CONN_INFO_1; typedef struct srv_conn_info_ctr_info { unsigned int switch_value; unsigned int ptr_conn_ctr; union { SRV_CONN_INFO_0 info0; SRV_CONN_INFO_1 info1; } conn; } SRV_CONN_INFO_CTR; typedef struct q_net_conn_enum_info { unsigned int ptr_srv_name; UNISTR2 uni_srv_name; unsigned int ptr_qual_name; UNISTR2 uni_qual_name; unsigned int conn_level; SRV_CONN_INFO_CTR *ctr; unsigned int preferred_len; ENUM_HND enum_hnd; } SRV_Q_NET_CONN_ENUM; typedef struct r_net_conn_enum_info { unsigned int conn_level; SRV_CONN_INFO_CTR *ctr; unsigned int total_entries; ENUM_HND enum_hnd; WERROR status; } SRV_R_NET_CONN_ENUM; typedef struct ptr_share_info0 { unsigned int ptr_netname; } SH_INFO_0; typedef struct str_share_info0 { SH_INFO_0 *ptrs; UNISTR2 uni_netname; } SH_INFO_0_STR; typedef struct share_info_0_info { SH_INFO_0 info_0; SH_INFO_0_STR info_0_str; } SRV_SHARE_INFO_0; typedef struct ptr_share_info1 { unsigned int ptr_netname; unsigned int type; unsigned int ptr_remark; } SH_INFO_1; typedef struct str_share_info1 { SH_INFO_1 *ptrs; UNISTR2 uni_netname; UNISTR2 uni_remark; } SH_INFO_1_STR; typedef struct share_info_1_info { SH_INFO_1 info_1; SH_INFO_1_STR info_1_str; } SRV_SHARE_INFO_1; typedef struct ptr_share_info2 { unsigned int ptr_netname; unsigned int type; unsigned int ptr_remark; unsigned int perms; unsigned int max_uses; unsigned int num_uses; unsigned int ptr_path; unsigned int ptr_passwd; } SH_INFO_2; typedef struct str_share_info2 { SH_INFO_2 *ptrs; UNISTR2 uni_netname; UNISTR2 uni_remark; UNISTR2 uni_path; UNISTR2 uni_passwd; } SH_INFO_2_STR; typedef struct share_info_2_info { SH_INFO_2 info_2; SH_INFO_2_STR info_2_str; } SRV_SHARE_INFO_2; typedef struct ptr_share_info501 { unsigned int ptr_netname; unsigned int type; unsigned int ptr_remark; unsigned int csc_policy; } SH_INFO_501; typedef struct str_share_info501 { UNISTR2 uni_netname; UNISTR2 uni_remark; } SH_INFO_501_STR; typedef struct share_info_501_info { SH_INFO_501 info_501; SH_INFO_501_STR info_501_str; } SRV_SHARE_INFO_501; typedef struct ptr_share_info502 { unsigned int ptr_netname; unsigned int type; unsigned int ptr_remark; unsigned int perms; unsigned int max_uses; unsigned int num_uses; unsigned int ptr_path; unsigned int ptr_passwd; unsigned int reserved; unsigned int reserved_offset; unsigned int sd_size; unsigned int ptr_sd; } SH_INFO_502; typedef struct str_share_info502 { SH_INFO_502 *ptrs; UNISTR2 uni_netname; UNISTR2 uni_remark; UNISTR2 uni_path; UNISTR2 uni_passwd; unsigned int reserved; unsigned int sd_size; SEC_DESC *sd; } SH_INFO_502_STR; typedef struct share_info_502_info { SH_INFO_502 info_502; SH_INFO_502_STR info_502_str; } SRV_SHARE_INFO_502; typedef struct ptr_share_info1004 { unsigned int ptr_remark; } SH_INFO_1004; typedef struct str_share_info1004 { SH_INFO_1004 *ptrs; UNISTR2 uni_remark; } SH_INFO_1004_STR; typedef struct ptr_info_1004_info { SH_INFO_1004 info_1004; SH_INFO_1004_STR info_1004_str; } SRV_SHARE_INFO_1004; typedef struct share_info_1005_info { unsigned int share_info_flags; } SRV_SHARE_INFO_1005; typedef struct share_info_1006_info { unsigned int max_uses; } SRV_SHARE_INFO_1006; typedef struct ptr_share_info1007 { unsigned int flags; unsigned int ptr_AlternateDirectoryName; } SH_INFO_1007; typedef struct str_share_info1007 { SH_INFO_1007 *ptrs; UNISTR2 uni_AlternateDirectoryName; } SH_INFO_1007_STR; typedef struct ptr_info_1007_info { SH_INFO_1007 info_1007; SH_INFO_1007_STR info_1007_str; } SRV_SHARE_INFO_1007; typedef struct share_info_1501_info { SEC_DESC_BUF *sdb; } SRV_SHARE_INFO_1501; typedef struct srv_share_info_ctr_info { unsigned int info_level; unsigned int switch_value; unsigned int ptr_share_info; unsigned int num_entries; unsigned int ptr_entries; unsigned int num_entries2; union { SRV_SHARE_INFO_0 *info0; SRV_SHARE_INFO_1 *info1; SRV_SHARE_INFO_2 *info2; SRV_SHARE_INFO_501 *info501; SRV_SHARE_INFO_502 *info502; SRV_SHARE_INFO_1004 *info1004; SRV_SHARE_INFO_1005 *info1005; SRV_SHARE_INFO_1006 *info1006; SRV_SHARE_INFO_1007 *info1007; SRV_SHARE_INFO_1501 *info1501; void *info; } share; } SRV_SHARE_INFO_CTR; typedef struct q_net_share_enum_info { unsigned int ptr_srv_name; UNISTR2 uni_srv_name; SRV_SHARE_INFO_CTR ctr; unsigned int preferred_len; ENUM_HND enum_hnd; } SRV_Q_NET_SHARE_ENUM; typedef struct r_net_share_enum_info { SRV_SHARE_INFO_CTR ctr; unsigned int total_entries; ENUM_HND enum_hnd; WERROR status; } SRV_R_NET_SHARE_ENUM; typedef struct q_net_share_get_info_info { unsigned int ptr_srv_name; UNISTR2 uni_srv_name; UNISTR2 uni_share_name; unsigned int info_level; } SRV_Q_NET_SHARE_GET_INFO; typedef struct srv_share_info { unsigned int switch_value; unsigned int ptr_share_ctr; union { SRV_SHARE_INFO_0 info0; SRV_SHARE_INFO_1 info1; SRV_SHARE_INFO_2 info2; SRV_SHARE_INFO_501 info501; SRV_SHARE_INFO_502 info502; SRV_SHARE_INFO_1004 info1004; SRV_SHARE_INFO_1005 info1005; SRV_SHARE_INFO_1006 info1006; SRV_SHARE_INFO_1007 info1007; SRV_SHARE_INFO_1501 info1501; } share; } SRV_SHARE_INFO; typedef struct r_net_share_get_info_info { SRV_SHARE_INFO info; WERROR status; } SRV_R_NET_SHARE_GET_INFO; typedef struct q_net_share_set_info_info { unsigned int ptr_srv_name; UNISTR2 uni_srv_name; UNISTR2 uni_share_name; unsigned int info_level; SRV_SHARE_INFO info; unsigned int ptr_parm_error; unsigned int parm_error; } SRV_Q_NET_SHARE_SET_INFO; typedef struct r_net_share_set_info { unsigned int ptr_parm_error; unsigned int parm_error; WERROR status; } SRV_R_NET_SHARE_SET_INFO; typedef struct q_net_share_add { unsigned int ptr_srv_name; UNISTR2 uni_srv_name; unsigned int info_level; SRV_SHARE_INFO info; unsigned int ptr_err_index; unsigned int err_index; } SRV_Q_NET_SHARE_ADD; typedef struct r_net_share_add { unsigned int ptr_parm_error; unsigned int parm_error; WERROR status; } SRV_R_NET_SHARE_ADD; typedef struct q_net_share_del { unsigned int ptr_srv_name; UNISTR2 uni_srv_name; UNISTR2 uni_share_name; unsigned int reserved; } SRV_Q_NET_SHARE_DEL; typedef struct r_net_share_del { WERROR status; } SRV_R_NET_SHARE_DEL; typedef struct file_info3_info { unsigned int id; unsigned int perms; unsigned int num_locks; unsigned int ptr_path_name; unsigned int ptr_user_name; } FILE_INFO_3; typedef struct str_file_info3_info { UNISTR2 uni_path_name; UNISTR2 uni_user_name; } FILE_INFO_3_STR; typedef struct srv_file_info_3 { unsigned int num_entries_read; unsigned int ptr_file_info; unsigned int num_entries_read2; FILE_INFO_3 info_3; FILE_INFO_3_STR info_3_str; } SRV_FILE_INFO_3; typedef struct srv_file_info_3_info { unsigned int switch_value; unsigned int ptr_file_info; unsigned int num_entries; unsigned int ptr_entries; unsigned int num_entries2; union { SRV_FILE_INFO_3 *info3; } file; } SRV_FILE_INFO_CTR; typedef struct q_net_file_enum_info { unsigned int ptr_srv_name; UNISTR2 uni_srv_name; unsigned int ptr_qual_name; UNISTR2 uni_qual_name; unsigned int ptr_user_name; UNISTR2 uni_user_name; unsigned int file_level; SRV_FILE_INFO_CTR ctr; unsigned int preferred_len; ENUM_HND enum_hnd; } SRV_Q_NET_FILE_ENUM; typedef struct r_net_file_enum_info { unsigned int file_level; SRV_FILE_INFO_CTR ctr; unsigned int total_entries; ENUM_HND enum_hnd; WERROR status; } SRV_R_NET_FILE_ENUM; typedef struct q_net_file_close { unsigned int ptr_srv_name; UNISTR2 uni_srv_name; unsigned int file_id; } SRV_Q_NET_FILE_CLOSE; typedef struct r_net_file_close { WERROR status; } SRV_R_NET_FILE_CLOSE; typedef struct srv_info_100_info { unsigned int platform_id; unsigned int ptr_name; UNISTR2 uni_name; } SRV_INFO_100; typedef struct srv_info_101_info { unsigned int platform_id; unsigned int ptr_name; unsigned int ver_major; unsigned int ver_minor; unsigned int srv_type; unsigned int ptr_comment; UNISTR2 uni_name; UNISTR2 uni_comment; } SRV_INFO_101; typedef struct srv_info_102_info { unsigned int platform_id; unsigned int ptr_name; unsigned int ver_major; unsigned int ver_minor; unsigned int srv_type; unsigned int ptr_comment; unsigned int users; unsigned int disc; unsigned int hidden; unsigned int announce; unsigned int ann_delta; unsigned int licenses; unsigned int ptr_usr_path; UNISTR2 uni_name; UNISTR2 uni_comment; UNISTR2 uni_usr_path; } SRV_INFO_102; typedef struct srv_info_ctr_info { unsigned int switch_value; unsigned int ptr_srv_ctr; union { SRV_INFO_102 sv102; SRV_INFO_101 sv101; SRV_INFO_100 sv100; } srv; } SRV_INFO_CTR; typedef struct q_net_srv_get_info { unsigned int ptr_srv_name; UNISTR2 uni_srv_name; unsigned int switch_value; } SRV_Q_NET_SRV_GET_INFO; typedef struct r_net_srv_get_info { SRV_INFO_CTR *ctr; WERROR status; } SRV_R_NET_SRV_GET_INFO; typedef struct q_net_srv_set_info { unsigned int ptr_srv_name; UNISTR2 uni_srv_name; unsigned int switch_value; SRV_INFO_CTR *ctr; } SRV_Q_NET_SRV_SET_INFO; typedef struct r_net_srv_set_info { unsigned int switch_value; WERROR status; } SRV_R_NET_SRV_SET_INFO; typedef struct q_net_remote_tod { unsigned int ptr_srv_name; UNISTR2 uni_srv_name; } SRV_Q_NET_REMOTE_TOD; typedef struct time_of_day_info { unsigned int elapsedt; unsigned int msecs; unsigned int hours; unsigned int mins; unsigned int secs; unsigned int hunds; unsigned int zone; unsigned int tintervals; unsigned int day; unsigned int month; unsigned int year; unsigned int weekday; } TIME_OF_DAY_INFO; typedef struct r_net_remote_tod { unsigned int ptr_srv_tod; TIME_OF_DAY_INFO *tod; WERROR status; } SRV_R_NET_REMOTE_TOD; typedef struct q_net_file_query_secdesc { unsigned int ptr_srv_name; UNISTR2 uni_srv_name; unsigned int ptr_qual_name; UNISTR2 uni_qual_name; UNISTR2 uni_file_name; unsigned int unknown1; unsigned int unknown2; unsigned int unknown3; } SRV_Q_NET_FILE_QUERY_SECDESC; typedef struct r_net_file_query_secdesc { unsigned int ptr_response; unsigned int size_response; unsigned int ptr_secdesc; unsigned int size_secdesc; SEC_DESC *sec_desc; WERROR status; } SRV_R_NET_FILE_QUERY_SECDESC; typedef struct q_net_file_set_secdesc { unsigned int ptr_srv_name; UNISTR2 uni_srv_name; unsigned int ptr_qual_name; UNISTR2 uni_qual_name; UNISTR2 uni_file_name; unsigned int sec_info; unsigned int size_set; unsigned int ptr_secdesc; unsigned int size_secdesc; SEC_DESC *sec_desc; } SRV_Q_NET_FILE_SET_SECDESC; typedef struct r_net_file_set_secdesc { WERROR status; } SRV_R_NET_FILE_SET_SECDESC; # 400 "include/ntdomain.h" 2 # 1 "include/rpc_wkssvc.h" 1 # 32 "include/rpc_wkssvc.h" typedef struct q_wks_query_info_info { unsigned int ptr_srv_name; UNISTR2 uni_srv_name; unsigned short switch_value; } WKS_Q_QUERY_INFO; typedef struct wks_info_100_info { unsigned int platform_id; unsigned int ptr_compname; unsigned int ptr_lan_grp ; unsigned int ver_major; unsigned int ver_minor; UNISTR2 uni_compname; UNISTR2 uni_lan_grp ; } WKS_INFO_100; typedef struct r_wks_query_info_info { unsigned short switch_value; unsigned int ptr_1; WKS_INFO_100 *wks100; NTSTATUS status; } WKS_R_QUERY_INFO; # 401 "include/ntdomain.h" 2 # 1 "include/rpc_spoolss.h" 1 # 342 "include/rpc_spoolss.h" typedef struct printer_message_info { unsigned int low; unsigned int high; fstring printer_name; unsigned int flags; } PRINTER_MESSAGE_INFO; # 428 "include/rpc_spoolss.h" typedef struct spool_user_1 { unsigned int size; unsigned int client_name_ptr; unsigned int user_name_ptr; unsigned int build; unsigned int major; unsigned int minor; unsigned int processor; UNISTR2 client_name; UNISTR2 user_name; } SPOOL_USER_1; typedef struct spool_user_ctr_info { unsigned int level; unsigned int ptr; SPOOL_USER_1 user1; } SPOOL_USER_CTR; # 488 "include/rpc_spoolss.h" typedef struct devicemode { UNISTR devicename; unsigned short specversion; unsigned short driverversion; unsigned short size; unsigned short driverextra; unsigned int fields; unsigned short orientation; unsigned short papersize; unsigned short paperlength; unsigned short paperwidth; unsigned short scale; unsigned short copies; unsigned short defaultsource; unsigned short printquality; unsigned short color; unsigned short duplex; unsigned short yresolution; unsigned short ttoption; unsigned short collate; UNISTR formname; unsigned short logpixels; unsigned int bitsperpel; unsigned int pelswidth; unsigned int pelsheight; unsigned int displayflags; unsigned int displayfrequency; unsigned int icmmethod; unsigned int icmintent; unsigned int mediatype; unsigned int dithertype; unsigned int reserved1; unsigned int reserved2; unsigned int panningwidth; unsigned int panningheight; unsigned char *private; } DEVICEMODE; typedef struct _devmode_cont { unsigned int size; unsigned int devmode_ptr; DEVICEMODE *devmode; } DEVMODE_CTR; typedef struct _printer_default { unsigned int datatype_ptr; UNISTR2 datatype; DEVMODE_CTR devmode_cont; unsigned int access_required; } PRINTER_DEFAULT; typedef struct spool_q_open_printer { unsigned int printername_ptr; UNISTR2 printername; PRINTER_DEFAULT printer_default; } SPOOL_Q_OPEN_PRINTER; typedef struct spool_r_open_printer { POLICY_HND handle; WERROR status; } SPOOL_R_OPEN_PRINTER; typedef struct spool_q_open_printer_ex { unsigned int printername_ptr; UNISTR2 printername; PRINTER_DEFAULT printer_default; unsigned int user_switch; SPOOL_USER_CTR user_ctr; } SPOOL_Q_OPEN_PRINTER_EX; typedef struct spool_r_open_printer_ex { POLICY_HND handle; WERROR status; } SPOOL_R_OPEN_PRINTER_EX; typedef struct spool_notify_option_type { unsigned short type; unsigned short reserved0; unsigned int reserved1; unsigned int reserved2; unsigned int count; unsigned int fields_ptr; unsigned int count2; unsigned short fields[26]; } SPOOL_NOTIFY_OPTION_TYPE; typedef struct spool_notify_option_type_ctr { unsigned int count; SPOOL_NOTIFY_OPTION_TYPE *type; } SPOOL_NOTIFY_OPTION_TYPE_CTR; typedef struct s_header_type { unsigned int type; union { unsigned int value; UNISTR string; } data; } HEADER_TYPE; typedef struct new_buffer { unsigned int ptr; unsigned int size; prs_struct prs; unsigned int struct_start; unsigned int string_at_end; } NEW_BUFFER; typedef struct spool_q_getprinterdata { POLICY_HND handle; UNISTR2 valuename; unsigned int size; } SPOOL_Q_GETPRINTERDATA; typedef struct spool_r_getprinterdata { unsigned int type; unsigned int size; unsigned char *data; unsigned int needed; WERROR status; } SPOOL_R_GETPRINTERDATA; typedef struct spool_q_deleteprinterdata { POLICY_HND handle; UNISTR2 valuename; } SPOOL_Q_DELETEPRINTERDATA; typedef struct spool_r_deleteprinterdata { WERROR status; } SPOOL_R_DELETEPRINTERDATA; typedef struct spool_q_closeprinter { POLICY_HND handle; } SPOOL_Q_CLOSEPRINTER; typedef struct spool_r_closeprinter { POLICY_HND handle; WERROR status; } SPOOL_R_CLOSEPRINTER; typedef struct spool_q_startpageprinter { POLICY_HND handle; } SPOOL_Q_STARTPAGEPRINTER; typedef struct spool_r_startpageprinter { WERROR status; } SPOOL_R_STARTPAGEPRINTER; typedef struct spool_q_endpageprinter { POLICY_HND handle; } SPOOL_Q_ENDPAGEPRINTER; typedef struct spool_r_endpageprinter { WERROR status; } SPOOL_R_ENDPAGEPRINTER; typedef struct spool_q_deleteprinterdriver { unsigned int server_ptr; UNISTR2 server; UNISTR2 arch; UNISTR2 driver; } SPOOL_Q_DELETEPRINTERDRIVER; typedef struct spool_r_deleteprinterdriver { WERROR status; } SPOOL_R_DELETEPRINTERDRIVER; typedef struct spool_q_deleteprinterdriverex { unsigned int server_ptr; UNISTR2 server; UNISTR2 arch; UNISTR2 driver; unsigned int delete_flags; unsigned int version; } SPOOL_Q_DELETEPRINTERDRIVEREX; typedef struct spool_r_deleteprinterdriverex { WERROR status; } SPOOL_R_DELETEPRINTERDRIVEREX; typedef struct spool_doc_info_1 { unsigned int p_docname; unsigned int p_outputfile; unsigned int p_datatype; UNISTR2 docname; UNISTR2 outputfile; UNISTR2 datatype; } DOC_INFO_1; typedef struct spool_doc_info { unsigned int switch_value; DOC_INFO_1 doc_info_1; } DOC_INFO; typedef struct spool_doc_info_container { unsigned int 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 { unsigned int jobid; WERROR status; } SPOOL_R_STARTDOCPRINTER; typedef struct spool_q_enddocprinter { POLICY_HND handle; } SPOOL_Q_ENDDOCPRINTER; typedef struct spool_r_enddocprinter { WERROR status; } SPOOL_R_ENDDOCPRINTER; typedef struct spool_q_writeprinter { POLICY_HND handle; unsigned int buffer_size; unsigned char *buffer; unsigned int buffer_size2; } SPOOL_Q_WRITEPRINTER; typedef struct spool_r_writeprinter { unsigned int buffer_written; WERROR status; } SPOOL_R_WRITEPRINTER; typedef struct spool_notify_option { unsigned int version; unsigned int flags; unsigned int count; unsigned int option_type_ptr; SPOOL_NOTIFY_OPTION_TYPE_CTR ctr; } SPOOL_NOTIFY_OPTION; typedef struct spool_notify_info_data { unsigned short type; unsigned short field; unsigned int reserved; unsigned int id; union { unsigned int value[2]; struct { unsigned int length; unsigned short *string; } data; struct { unsigned int size; SEC_DESC *desc; } sd; } notify_data; unsigned int size; BOOL enc_type; } SPOOL_NOTIFY_INFO_DATA; typedef struct spool_notify_info { unsigned int version; unsigned int flags; unsigned int count; SPOOL_NOTIFY_INFO_DATA *data; } SPOOL_NOTIFY_INFO; typedef struct spoolss_q_rffpcnex { POLICY_HND handle; unsigned int flags; unsigned int options; unsigned int localmachine_ptr; UNISTR2 localmachine; unsigned int printerlocal; unsigned int option_ptr; SPOOL_NOTIFY_OPTION *option; } SPOOL_Q_RFFPCNEX; typedef struct spool_r_rffpcnex { WERROR status; } SPOOL_R_RFFPCNEX; typedef struct spool_q_rfnpcnex { POLICY_HND handle; unsigned int change; unsigned int option_ptr; SPOOL_NOTIFY_OPTION *option; } SPOOL_Q_RFNPCNEX; typedef struct spool_r_rfnpcnex { unsigned int info_ptr; SPOOL_NOTIFY_INFO info; WERROR status; } SPOOL_R_RFNPCNEX; typedef struct spool_q_fcpn { POLICY_HND handle; } SPOOL_Q_FCPN; typedef struct spool_r_fcpn { WERROR status; } SPOOL_R_FCPN; typedef struct printer_info_0 { UNISTR printername; UNISTR servername; unsigned int cjobs; unsigned int total_jobs; unsigned int total_bytes; unsigned short year; unsigned short month; unsigned short dayofweek; unsigned short day; unsigned short hour; unsigned short minute; unsigned short second; unsigned short milliseconds; unsigned int global_counter; unsigned int total_pages; unsigned short major_version; unsigned short build_version; unsigned int unknown7; unsigned int unknown8; unsigned int unknown9; unsigned int session_counter; unsigned int unknown11; unsigned int printer_errors; unsigned int unknown13; unsigned int unknown14; unsigned int unknown15; unsigned int unknown16; unsigned int change_id; unsigned int unknown18; unsigned int status; unsigned int unknown20; unsigned int c_setprinter; unsigned short unknown22; unsigned short unknown23; unsigned short unknown24; unsigned short unknown25; unsigned short unknown26; unsigned short unknown27; unsigned short unknown28; unsigned short unknown29; } PRINTER_INFO_0; typedef struct printer_info_1 { unsigned int 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; SEC_DESC *secdesc; unsigned int attributes; unsigned int priority; unsigned int defaultpriority; unsigned int starttime; unsigned int untiltime; unsigned int status; unsigned int cjobs; unsigned int averageppm; } PRINTER_INFO_2; typedef struct printer_info_3 { unsigned int flags; SEC_DESC *secdesc; } PRINTER_INFO_3; typedef struct printer_info_4 { UNISTR printername; UNISTR servername; unsigned int attributes; } PRINTER_INFO_4; typedef struct printer_info_5 { UNISTR printername; UNISTR portname; unsigned int attributes; unsigned int device_not_selected_timeout; unsigned int transmission_retry_timeout; } PRINTER_INFO_5; typedef struct printer_info_7 { UNISTR guid; unsigned int action; } PRINTER_INFO_7; typedef struct spool_q_enumprinters { unsigned int flags; unsigned int servername_ptr; UNISTR2 servername; unsigned int level; NEW_BUFFER *buffer; unsigned int offered; } SPOOL_Q_ENUMPRINTERS; typedef struct printer_info_ctr_info { PRINTER_INFO_0 *printers_0; PRINTER_INFO_1 *printers_1; PRINTER_INFO_2 *printers_2; PRINTER_INFO_3 *printers_3; PRINTER_INFO_4 *printers_4; PRINTER_INFO_5 *printers_5; } PRINTER_INFO_CTR; typedef struct spool_r_enumprinters { NEW_BUFFER *buffer; unsigned int needed; unsigned int returned; WERROR status; } SPOOL_R_ENUMPRINTERS; typedef struct spool_q_getprinter { POLICY_HND handle; unsigned int level; NEW_BUFFER *buffer; unsigned int offered; } SPOOL_Q_GETPRINTER; typedef struct printer_info_info { union { PRINTER_INFO_0 *info0; PRINTER_INFO_1 *info1; PRINTER_INFO_2 *info2; void *info; } printer; } PRINTER_INFO; typedef struct spool_r_getprinter { NEW_BUFFER *buffer; unsigned int needed; WERROR status; } SPOOL_R_GETPRINTER; typedef struct driver_info_1 { UNISTR name; } DRIVER_INFO_1; typedef struct driver_info_2 { unsigned int version; UNISTR name; UNISTR architecture; UNISTR driverpath; UNISTR datafile; UNISTR configfile; } DRIVER_INFO_2; typedef struct driver_info_3 { unsigned int version; UNISTR name; UNISTR architecture; UNISTR driverpath; UNISTR datafile; UNISTR configfile; UNISTR helpfile; unsigned short *dependentfiles; UNISTR monitorname; UNISTR defaultdatatype; } DRIVER_INFO_3; typedef struct driver_info_6 { unsigned int version; UNISTR name; UNISTR architecture; UNISTR driverpath; UNISTR datafile; UNISTR configfile; UNISTR helpfile; unsigned short *dependentfiles; UNISTR monitorname; UNISTR defaultdatatype; unsigned short* previousdrivernames; NTTIME driver_date; unsigned int padding; unsigned int driver_version_low; unsigned int driver_version_high; UNISTR mfgname; UNISTR oem_url; UNISTR hardware_id; UNISTR provider; } DRIVER_INFO_6; typedef struct driver_info_info { DRIVER_INFO_1 *info1; DRIVER_INFO_2 *info2; DRIVER_INFO_3 *info3; DRIVER_INFO_6 *info6; } PRINTER_DRIVER_CTR; typedef struct spool_q_getprinterdriver2 { POLICY_HND handle; unsigned int architecture_ptr; UNISTR2 architecture; unsigned int level; NEW_BUFFER *buffer; unsigned int offered; unsigned int clientmajorversion; unsigned int clientminorversion; } SPOOL_Q_GETPRINTERDRIVER2; typedef struct spool_r_getprinterdriver2 { NEW_BUFFER *buffer; unsigned int needed; unsigned int servermajorversion; unsigned int serverminorversion; WERROR status; } SPOOL_R_GETPRINTERDRIVER2; typedef struct add_jobinfo_1 { UNISTR path; unsigned int job_number; } ADD_JOBINFO_1; typedef struct spool_q_addjob { POLICY_HND handle; unsigned int level; NEW_BUFFER *buffer; unsigned int offered; } SPOOL_Q_ADDJOB; typedef struct spool_r_addjob { NEW_BUFFER *buffer; unsigned int needed; WERROR status; } SPOOL_R_ADDJOB; typedef struct systemtime { unsigned short year; unsigned short month; unsigned short dayofweek; unsigned short day; unsigned short hour; unsigned short minute; unsigned short second; unsigned short milliseconds; } SYSTEMTIME; typedef struct s_job_info_1 { unsigned int jobid; UNISTR printername; UNISTR machinename; UNISTR username; UNISTR document; UNISTR datatype; UNISTR text_status; unsigned int status; unsigned int priority; unsigned int position; unsigned int totalpages; unsigned int pagesprinted; SYSTEMTIME submitted; } JOB_INFO_1; typedef struct s_job_info_2 { unsigned int jobid; UNISTR printername; UNISTR machinename; UNISTR username; UNISTR document; UNISTR notifyname; UNISTR datatype; UNISTR printprocessor; UNISTR parameters; UNISTR drivername; DEVICEMODE *devmode; UNISTR text_status; unsigned int status; unsigned int priority; unsigned int position; unsigned int starttime; unsigned int untiltime; unsigned int totalpages; unsigned int size; SYSTEMTIME submitted; unsigned int timeelapsed; unsigned int pagesprinted; } JOB_INFO_2; typedef struct spool_q_enumjobs { POLICY_HND handle; unsigned int firstjob; unsigned int numofjobs; unsigned int level; NEW_BUFFER *buffer; unsigned int offered; } SPOOL_Q_ENUMJOBS; typedef struct job_info_ctr_info { union { JOB_INFO_1 *job_info_1; JOB_INFO_2 *job_info_2; void *info; } job; } JOB_INFO_CTR; typedef struct spool_r_enumjobs { NEW_BUFFER *buffer; unsigned int needed; unsigned int returned; WERROR status; } SPOOL_R_ENUMJOBS; typedef struct spool_q_schedulejob { POLICY_HND handle; unsigned int jobid; } SPOOL_Q_SCHEDULEJOB; typedef struct spool_r_schedulejob { WERROR 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; unsigned int port_type; unsigned int reserved; } PORT_INFO_2; typedef struct spool_q_enumports { unsigned int name_ptr; UNISTR2 name; unsigned int level; NEW_BUFFER *buffer; unsigned int offered; } SPOOL_Q_ENUMPORTS; typedef struct port_info_ctr_info { union { PORT_INFO_1 *info_1; PORT_INFO_2 *info_2; } port; } PORT_INFO_CTR; typedef struct spool_r_enumports { NEW_BUFFER *buffer; unsigned int needed; unsigned int returned; WERROR status; } SPOOL_R_ENUMPORTS; typedef struct job_info_info { union { JOB_INFO_1 job_info_1; JOB_INFO_2 job_info_2; } job; } JOB_INFO; typedef struct spool_q_setjob { POLICY_HND handle; unsigned int jobid; unsigned int level; JOB_INFO ctr; unsigned int command; } SPOOL_Q_SETJOB; typedef struct spool_r_setjob { WERROR status; } SPOOL_R_SETJOB; typedef struct spool_q_enumprinterdrivers { unsigned int name_ptr; UNISTR2 name; unsigned int environment_ptr; UNISTR2 environment; unsigned int level; NEW_BUFFER *buffer; unsigned int offered; } SPOOL_Q_ENUMPRINTERDRIVERS; typedef struct spool_r_enumprinterdrivers { NEW_BUFFER *buffer; unsigned int needed; unsigned int returned; WERROR status; } SPOOL_R_ENUMPRINTERDRIVERS; typedef struct spool_form_1 { unsigned int flag; UNISTR name; unsigned int width; unsigned int length; unsigned int left; unsigned int top; unsigned int right; unsigned int bottom; } FORM_1; typedef struct spool_q_enumforms { POLICY_HND handle; unsigned int level; NEW_BUFFER *buffer; unsigned int offered; } SPOOL_Q_ENUMFORMS; typedef struct spool_r_enumforms { NEW_BUFFER *buffer; unsigned int needed; unsigned int numofforms; WERROR status; } SPOOL_R_ENUMFORMS; typedef struct spool_q_getform { POLICY_HND handle; UNISTR2 formname; unsigned int level; NEW_BUFFER *buffer; unsigned int offered; } SPOOL_Q_GETFORM; typedef struct spool_r_getform { NEW_BUFFER *buffer; unsigned int needed; WERROR status; } SPOOL_R_GETFORM; typedef struct spool_printer_info_level_1 { unsigned int flags; unsigned int description_ptr; unsigned int name_ptr; unsigned int comment_ptr; UNISTR2 description; UNISTR2 name; UNISTR2 comment; } SPOOL_PRINTER_INFO_LEVEL_1; typedef struct spool_printer_info_level_2 { unsigned int servername_ptr; unsigned int printername_ptr; unsigned int sharename_ptr; unsigned int portname_ptr; unsigned int drivername_ptr; unsigned int comment_ptr; unsigned int location_ptr; unsigned int devmode_ptr; unsigned int sepfile_ptr; unsigned int printprocessor_ptr; unsigned int datatype_ptr; unsigned int parameters_ptr; unsigned int secdesc_ptr; unsigned int attributes; unsigned int priority; unsigned int default_priority; unsigned int starttime; unsigned int untiltime; unsigned int status; unsigned int cjobs; unsigned int averageppm; UNISTR2 servername; UNISTR2 printername; UNISTR2 sharename; UNISTR2 portname; UNISTR2 drivername; UNISTR2 comment; UNISTR2 location; UNISTR2 sepfile; UNISTR2 printprocessor; UNISTR2 datatype; UNISTR2 parameters; } SPOOL_PRINTER_INFO_LEVEL_2; typedef struct spool_printer_info_level_3 { unsigned int secdesc_ptr; } SPOOL_PRINTER_INFO_LEVEL_3; typedef struct spool_printer_info_level_7 { unsigned int guid_ptr; unsigned int action; UNISTR2 guid; } SPOOL_PRINTER_INFO_LEVEL_7; typedef struct spool_printer_info_level { unsigned int level; unsigned int info_ptr; SPOOL_PRINTER_INFO_LEVEL_1 *info_1; SPOOL_PRINTER_INFO_LEVEL_2 *info_2; SPOOL_PRINTER_INFO_LEVEL_3 *info_3; SPOOL_PRINTER_INFO_LEVEL_7 *info_7; } SPOOL_PRINTER_INFO_LEVEL; typedef struct spool_printer_driver_info_level_3 { unsigned int cversion; unsigned int name_ptr; unsigned int environment_ptr; unsigned int driverpath_ptr; unsigned int datafile_ptr; unsigned int configfile_ptr; unsigned int helpfile_ptr; unsigned int monitorname_ptr; unsigned int defaultdatatype_ptr; unsigned int dependentfilessize; unsigned int 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 { unsigned int version; unsigned int name_ptr; unsigned int environment_ptr; unsigned int driverpath_ptr; unsigned int datafile_ptr; unsigned int configfile_ptr; unsigned int helpfile_ptr; unsigned int monitorname_ptr; unsigned int defaultdatatype_ptr; unsigned int dependentfiles_len; unsigned int dependentfiles_ptr; unsigned int previousnames_len; unsigned int previousnames_ptr; NTTIME driverdate; UINT64_S driverversion; unsigned int dummy4; unsigned int mfgname_ptr; unsigned int oemurl_ptr; unsigned int hardwareid_ptr; unsigned int provider_ptr; UNISTR2 name; UNISTR2 environment; UNISTR2 driverpath; UNISTR2 datafile; UNISTR2 configfile; UNISTR2 helpfile; UNISTR2 monitorname; UNISTR2 defaultdatatype; BUFFER5 dependentfiles; BUFFER5 previousnames; UNISTR2 mfgname; UNISTR2 oemurl; UNISTR2 hardwareid; UNISTR2 provider; } SPOOL_PRINTER_DRIVER_INFO_LEVEL_6; typedef struct spool_printer_driver_info_level { unsigned int level; unsigned int ptr; SPOOL_PRINTER_DRIVER_INFO_LEVEL_3 *info_3; SPOOL_PRINTER_DRIVER_INFO_LEVEL_6 *info_6; } SPOOL_PRINTER_DRIVER_INFO_LEVEL; typedef struct spool_user_level_1 { unsigned int size; unsigned int client_name_ptr; unsigned int user_name_ptr; unsigned int build; unsigned int major; unsigned int minor; unsigned int 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; unsigned int level; SPOOL_PRINTER_INFO_LEVEL info; SEC_DESC_BUF *secdesc_ctr; DEVMODE_CTR devmode_ctr; unsigned int command; } SPOOL_Q_SETPRINTER; typedef struct spool_r_setprinter { WERROR status; } SPOOL_R_SETPRINTER; typedef struct spool_q_addprinter { UNISTR2 server_name; unsigned int level; SPOOL_PRINTER_INFO_LEVEL info; DEVMODE_CTR devmode_ctr; SEC_DESC_BUF *secdesc_ctr; unsigned int user_level; SPOOL_USER_LEVEL user; } SPOOL_Q_ADDPRINTER; typedef struct spool_r_addprinter { WERROR status; } SPOOL_R_ADDPRINTER; typedef struct spool_q_deleteprinter { POLICY_HND handle; } SPOOL_Q_DELETEPRINTER; typedef struct spool_r_deleteprinter { POLICY_HND handle; WERROR status; } SPOOL_R_DELETEPRINTER; typedef struct spool_q_abortprinter { POLICY_HND handle; } SPOOL_Q_ABORTPRINTER; typedef struct spool_r_abortprinter { WERROR status; } SPOOL_R_ABORTPRINTER; typedef struct spool_q_addprinterex { unsigned int server_name_ptr; UNISTR2 server_name; unsigned int level; SPOOL_PRINTER_INFO_LEVEL info; DEVMODE_CTR devmode_ctr; SEC_DESC_BUF *secdesc_ctr; unsigned int user_switch; SPOOL_USER_CTR user_ctr; } SPOOL_Q_ADDPRINTEREX; typedef struct spool_r_addprinterex { POLICY_HND handle; WERROR status; } SPOOL_R_ADDPRINTEREX; typedef struct spool_q_addprinterdriver { unsigned int server_name_ptr; UNISTR2 server_name; unsigned int level; SPOOL_PRINTER_DRIVER_INFO_LEVEL info; } SPOOL_Q_ADDPRINTERDRIVER; typedef struct spool_r_addprinterdriver { WERROR status; } SPOOL_R_ADDPRINTERDRIVER; typedef struct spool_q_addprinterdriverex { unsigned int server_name_ptr; UNISTR2 server_name; unsigned int level; SPOOL_PRINTER_DRIVER_INFO_LEVEL info; unsigned int copy_flags; } SPOOL_Q_ADDPRINTERDRIVEREX; typedef struct spool_r_addprinterdriverex { WERROR status; } SPOOL_R_ADDPRINTERDRIVEREX; typedef struct driver_directory_1 { UNISTR name; } DRIVER_DIRECTORY_1; typedef struct driver_info_ctr_info { DRIVER_DIRECTORY_1 *info1; } DRIVER_DIRECTORY_CTR; typedef struct spool_q_getprinterdriverdirectory { unsigned int name_ptr; UNISTR2 name; unsigned int environment_ptr; UNISTR2 environment; unsigned int level; NEW_BUFFER *buffer; unsigned int offered; } SPOOL_Q_GETPRINTERDRIVERDIR; typedef struct spool_r_getprinterdriverdirectory { NEW_BUFFER *buffer; unsigned int needed; WERROR status; } SPOOL_R_GETPRINTERDRIVERDIR; typedef struct spool_q_addprintprocessor { unsigned int server_ptr; UNISTR2 server; UNISTR2 environment; UNISTR2 path; UNISTR2 name; } SPOOL_Q_ADDPRINTPROCESSOR; typedef struct spool_r_addprintprocessor { WERROR status; } SPOOL_R_ADDPRINTPROCESSOR; typedef struct spool_q_enumprintprocessors { unsigned int name_ptr; UNISTR2 name; unsigned int environment_ptr; UNISTR2 environment; unsigned int level; NEW_BUFFER *buffer; unsigned int offered; } SPOOL_Q_ENUMPRINTPROCESSORS; typedef struct printprocessor_1 { UNISTR name; } PRINTPROCESSOR_1; typedef struct spool_r_enumprintprocessors { NEW_BUFFER *buffer; unsigned int needed; unsigned int returned; WERROR status; } SPOOL_R_ENUMPRINTPROCESSORS; typedef struct spool_q_enumprintprocdatatypes { unsigned int name_ptr; UNISTR2 name; unsigned int processor_ptr; UNISTR2 processor; unsigned int level; NEW_BUFFER *buffer; unsigned int offered; } SPOOL_Q_ENUMPRINTPROCDATATYPES; typedef struct ppdatatype_1 { UNISTR name; } PRINTPROCDATATYPE_1; typedef struct spool_r_enumprintprocdatatypes { NEW_BUFFER *buffer; unsigned int needed; unsigned int returned; WERROR status; } SPOOL_R_ENUMPRINTPROCDATATYPES; typedef struct printmonitor_1 { UNISTR name; } PRINTMONITOR_1; typedef struct printmonitor_2 { UNISTR name; UNISTR environment; UNISTR dll_name; } PRINTMONITOR_2; typedef struct spool_q_enumprintmonitors { unsigned int name_ptr; UNISTR2 name; unsigned int level; NEW_BUFFER *buffer; unsigned int offered; } SPOOL_Q_ENUMPRINTMONITORS; typedef struct spool_r_enumprintmonitors { NEW_BUFFER *buffer; unsigned int needed; unsigned int returned; WERROR status; } SPOOL_R_ENUMPRINTMONITORS; typedef struct spool_q_enumprinterdata { POLICY_HND handle; unsigned int index; unsigned int valuesize; unsigned int datasize; } SPOOL_Q_ENUMPRINTERDATA; typedef struct spool_r_enumprinterdata { unsigned int valuesize; unsigned short *value; unsigned int realvaluesize; unsigned int type; unsigned int datasize; unsigned char *data; unsigned int realdatasize; WERROR status; } SPOOL_R_ENUMPRINTERDATA; typedef struct spool_q_setprinterdata { POLICY_HND handle; UNISTR2 value; unsigned int type; unsigned int max_len; unsigned char *data; unsigned int real_len; unsigned int numeric_data; } SPOOL_Q_SETPRINTERDATA; typedef struct spool_r_setprinterdata { WERROR status; } SPOOL_R_SETPRINTERDATA; typedef struct spool_q_resetprinter { POLICY_HND handle; unsigned int datatype_ptr; UNISTR2 datatype; DEVMODE_CTR devmode_ctr; } SPOOL_Q_RESETPRINTER; typedef struct spool_r_resetprinter { WERROR status; } SPOOL_R_RESETPRINTER; typedef struct _form { unsigned int flags; unsigned int name_ptr; unsigned int size_x; unsigned int size_y; unsigned int left; unsigned int top; unsigned int right; unsigned int bottom; UNISTR2 name; } FORM; typedef struct spool_q_addform { POLICY_HND handle; unsigned int level; unsigned int level2; FORM form; } SPOOL_Q_ADDFORM; typedef struct spool_r_addform { WERROR status; } SPOOL_R_ADDFORM; typedef struct spool_q_setform { POLICY_HND handle; UNISTR2 name; unsigned int level; unsigned int level2; FORM form; } SPOOL_Q_SETFORM; typedef struct spool_r_setform { WERROR status; } SPOOL_R_SETFORM; typedef struct spool_q_deleteform { POLICY_HND handle; UNISTR2 name; } SPOOL_Q_DELETEFORM; typedef struct spool_r_deleteform { WERROR status; } SPOOL_R_DELETEFORM; typedef struct spool_q_getjob { POLICY_HND handle; unsigned int jobid; unsigned int level; NEW_BUFFER *buffer; unsigned int offered; } SPOOL_Q_GETJOB; typedef struct pjob_info_info { union { JOB_INFO_1 *job_info_1; JOB_INFO_2 *job_info_2; void *info; } job; } PJOB_INFO; typedef struct spool_r_getjob { NEW_BUFFER *buffer; unsigned int needed; WERROR status; } SPOOL_R_GETJOB; typedef struct spool_q_replyopenprinter { UNISTR2 string; unsigned int printer; unsigned int type; unsigned int unknown0; unsigned int unknown1; } SPOOL_Q_REPLYOPENPRINTER; typedef struct spool_r_replyopenprinter { POLICY_HND handle; WERROR status; } SPOOL_R_REPLYOPENPRINTER; typedef struct spool_q_routerreplyprinter { POLICY_HND handle; unsigned int condition; unsigned int unknown1; unsigned int change_id; unsigned char unknown2[5]; } SPOOL_Q_ROUTERREPLYPRINTER; typedef struct spool_r_routerreplyprinter { WERROR status; } SPOOL_R_ROUTERREPLYPRINTER; typedef struct spool_q_replycloseprinter { POLICY_HND handle; } SPOOL_Q_REPLYCLOSEPRINTER; typedef struct spool_r_replycloseprinter { POLICY_HND handle; WERROR status; } SPOOL_R_REPLYCLOSEPRINTER; typedef struct spool_q_rrpcn { POLICY_HND handle; unsigned int change_low; unsigned int change_high; unsigned int unknown0; unsigned int unknown1; unsigned int info_ptr; SPOOL_NOTIFY_INFO info; } SPOOL_Q_REPLY_RRPCN; typedef struct spool_r_rrpcn { unsigned int unknown0; WERROR status; } SPOOL_R_REPLY_RRPCN; typedef struct spool_q_getprinterdataex { POLICY_HND handle; UNISTR2 keyname; UNISTR2 valuename; unsigned int size; } SPOOL_Q_GETPRINTERDATAEX; typedef struct spool_r_getprinterdataex { unsigned int type; unsigned int size; unsigned char *data; unsigned int needed; WERROR status; } SPOOL_R_GETPRINTERDATAEX; typedef struct spool_q_setprinterdataex { POLICY_HND handle; UNISTR2 key; UNISTR2 value; unsigned int type; unsigned int max_len; unsigned char *data; unsigned int real_len; unsigned int numeric_data; } SPOOL_Q_SETPRINTERDATAEX; typedef struct spool_r_setprinterdataex { WERROR status; } SPOOL_R_SETPRINTERDATAEX; typedef struct spool_q_deleteprinterdataex { POLICY_HND handle; UNISTR2 keyname; UNISTR2 valuename; } SPOOL_Q_DELETEPRINTERDATAEX; typedef struct spool_r_deleteprinterdataex { WERROR status; } SPOOL_R_DELETEPRINTERDATAEX; typedef struct spool_q_enumprinterkey { POLICY_HND handle; UNISTR2 key; unsigned int size; } SPOOL_Q_ENUMPRINTERKEY; typedef struct spool_r_enumprinterkey { BUFFER5 keys; unsigned int needed; WERROR status; } SPOOL_R_ENUMPRINTERKEY; typedef struct spool_q_deleteprinterkey { POLICY_HND handle; UNISTR2 keyname; } SPOOL_Q_DELETEPRINTERKEY; typedef struct spool_r_deleteprinterkey { WERROR status; } SPOOL_R_DELETEPRINTERKEY; typedef struct printer_enum_values { UNISTR valuename; unsigned int value_len; unsigned int type; unsigned char *data; unsigned int data_len; } PRINTER_ENUM_VALUES; typedef struct printer_enum_values_ctr { unsigned int size; unsigned int size_of_array; PRINTER_ENUM_VALUES *values; } PRINTER_ENUM_VALUES_CTR; typedef struct spool_q_enumprinterdataex { POLICY_HND handle; UNISTR2 key; unsigned int size; } SPOOL_Q_ENUMPRINTERDATAEX; typedef struct spool_r_enumprinterdataex { PRINTER_ENUM_VALUES_CTR ctr; unsigned int needed; unsigned int returned; WERROR status; } SPOOL_R_ENUMPRINTERDATAEX; typedef struct printprocessor_directory_1 { UNISTR name; } PRINTPROCESSOR_DIRECTORY_1; typedef struct spool_q_getprintprocessordirectory { UNISTR2 name; UNISTR2 environment; unsigned int level; NEW_BUFFER *buffer; unsigned int offered; } SPOOL_Q_GETPRINTPROCESSORDIRECTORY; typedef struct spool_r_getprintprocessordirectory { NEW_BUFFER *buffer; unsigned int needed; WERROR status; } SPOOL_R_GETPRINTPROCESSORDIRECTORY; # 402 "include/ntdomain.h" 2 # 1 "include/rpc_dfs.h" 1 # 37 "include/rpc_dfs.h" typedef struct dfs_q_dfs_exist { unsigned int dummy; } DFS_Q_DFS_EXIST; typedef struct dfs_r_dfs_exist { unsigned int status; } DFS_R_DFS_EXIST; typedef struct dfs_q_dfs_add { unsigned int ptr_DfsEntryPath; UNISTR2 DfsEntryPath; unsigned int ptr_ServerName; UNISTR2 ServerName; unsigned int ptr_ShareName; UNISTR2 ShareName; unsigned int ptr_Comment; UNISTR2 Comment; unsigned int Flags; } DFS_Q_DFS_ADD; typedef struct dfs_r_dfs_add { WERROR status; } DFS_R_DFS_ADD; typedef struct dfs_q_dfs_remove { UNISTR2 DfsEntryPath; unsigned int ptr_ServerName; UNISTR2 ServerName; unsigned int ptr_ShareName; UNISTR2 ShareName; } DFS_Q_DFS_REMOVE; typedef struct dfs_r_dfs_remove { WERROR status; } DFS_R_DFS_REMOVE; typedef struct dfs_info_1 { unsigned int ptr_entrypath; UNISTR2 entrypath; } DFS_INFO_1; typedef struct dfs_info_2 { unsigned int ptr_entrypath; UNISTR2 entrypath; unsigned int ptr_comment; UNISTR2 comment; unsigned int state; unsigned int num_storages; } DFS_INFO_2; typedef struct dfs_storage_info { unsigned int state; unsigned int ptr_servername; UNISTR2 servername; unsigned int ptr_sharename; UNISTR2 sharename; } DFS_STORAGE_INFO; typedef struct dfs_info_3 { unsigned int ptr_entrypath; UNISTR2 entrypath; unsigned int ptr_comment; UNISTR2 comment; unsigned int state; unsigned int num_storages; unsigned int ptr_storages; unsigned int num_storage_infos; DFS_STORAGE_INFO* storages; } DFS_INFO_3; typedef struct dfs_info_ctr { unsigned int switch_value; unsigned int num_entries; unsigned int ptr_dfs_ctr; union { DFS_INFO_1 *info1; DFS_INFO_2 *info2; DFS_INFO_3 *info3; } dfs; } DFS_INFO_CTR; typedef struct dfs_q_dfs_get_info { UNISTR2 uni_path; unsigned int ptr_server; UNISTR2 uni_server; unsigned int ptr_share; UNISTR2 uni_share; unsigned int level; } DFS_Q_DFS_GET_INFO; typedef struct dfs_r_dfs_get_info { unsigned int level; unsigned int ptr_ctr; DFS_INFO_CTR ctr; WERROR status; } DFS_R_DFS_GET_INFO; typedef struct dfs_q_dfs_enum { unsigned int level; unsigned int maxpreflen; unsigned int ptr_buffer; unsigned int level2; unsigned int ptr_num_entries; unsigned int num_entries; unsigned int ptr_num_entries2; unsigned int num_entries2; ENUM_HND reshnd; } DFS_Q_DFS_ENUM; typedef struct dfs_r_dfs_enum { DFS_INFO_CTR *ctr; unsigned int ptr_buffer; unsigned int level; unsigned int level2; unsigned int ptr_num_entries; unsigned int num_entries; unsigned int ptr_num_entries2; unsigned int num_entries2; ENUM_HND reshnd; WERROR status; } DFS_R_DFS_ENUM; # 403 "include/ntdomain.h" 2 # 1 "include/rpc_ds.h" 1 # 24 "include/rpc_ds.h" # 1 "include/rpc_misc.h" 1 # 25 "include/rpc_ds.h" 2 # 56 "include/rpc_ds.h" typedef struct { unsigned short machine_role; unsigned short unknown; unsigned int flags; unsigned int netbios_ptr; unsigned int dnsname_ptr; unsigned int forestname_ptr; GUID domain_guid; UNISTR2 netbios_domain; UNISTR2 dns_domain; UNISTR2 forest_domain; } DSROLE_PRIMARY_DOMAIN_INFO_BASIC; typedef struct { DSROLE_PRIMARY_DOMAIN_INFO_BASIC *basic; } DS_DOMINFO_CTR; typedef struct { unsigned short level; } DS_Q_GETPRIMDOMINFO; typedef struct { unsigned int ptr; unsigned short level; unsigned short unknown0; DS_DOMINFO_CTR info; NTSTATUS status; } DS_R_GETPRIMDOMINFO; typedef struct { unsigned int netbios_ptr; unsigned int dns_ptr; unsigned int flags; unsigned int parent_index; unsigned int trust_type; unsigned int trust_attributes; unsigned int sid_ptr; GUID guid; UNISTR2 netbios_domain; UNISTR2 dns_domain; DOM_SID2 sid; } DS_DOMAIN_TRUSTS; typedef struct { unsigned int ptr; unsigned int max_count; DS_DOMAIN_TRUSTS *trusts; } DS_DOMAIN_TRUSTS_CTR; # 139 "include/rpc_ds.h" typedef struct { unsigned int server_ptr; UNISTR2 server; unsigned int flags; } DS_Q_ENUM_DOM_TRUSTS; typedef struct { unsigned int num_domains; DS_DOMAIN_TRUSTS_CTR domains; NTSTATUS status; } DS_R_ENUM_DOM_TRUSTS; # 404 "include/ntdomain.h" 2 # 1 "include/rpc_echo.h" 1 # 31 "include/rpc_echo.h" typedef struct echo_q_add_one { unsigned int request; } ECHO_Q_ADD_ONE; typedef struct echo_r_add_one { unsigned int response; } ECHO_R_ADD_ONE; typedef struct echo_q_echo_data { unsigned int size; char *data; } ECHO_Q_ECHO_DATA; typedef struct echo_r_echo_data { unsigned int size; char *data; } ECHO_R_ECHO_DATA; typedef struct echo_q_source_data { unsigned int size; } ECHO_Q_SOURCE_DATA; typedef struct echo_r_source_data { unsigned int size; char *data; } ECHO_R_SOURCE_DATA; typedef struct echo_q_sink_data { unsigned int size; char *data; } ECHO_Q_SINK_DATA; typedef struct echo_r_sink_data { int dummy; } ECHO_R_SINK_DATA; # 405 "include/ntdomain.h" 2 # 804 "include/includes.h" 2 # 1 "include/rpc_misc.h" 1 # 806 "include/includes.h" 2 # 1 "include/nt_printing.h" 1 # 136 "include/nt_printing.h" typedef struct nt_printer_driver_info_level_3 { unsigned int cversion; fstring name; fstring environment; fstring driverpath; fstring datafile; fstring configfile; fstring helpfile; fstring monitorname; fstring defaultdatatype; fstring *dependentfiles; } NT_PRINTER_DRIVER_INFO_LEVEL_3; typedef struct { unsigned int version; fstring name; fstring environment; fstring driverpath; fstring datafile; fstring configfile; fstring helpfile; fstring monitorname; fstring defaultdatatype; fstring mfgname; fstring oemurl; fstring hardwareid; fstring provider; fstring *dependentfiles; fstring *previousnames; } NT_PRINTER_DRIVER_INFO_LEVEL_6; typedef struct nt_printer_driver_info_level { NT_PRINTER_DRIVER_INFO_LEVEL_3 *info_3; NT_PRINTER_DRIVER_INFO_LEVEL_6 *info_6; } NT_PRINTER_DRIVER_INFO_LEVEL; # 246 "include/nt_printing.h" typedef struct { char *name; REGVAL_CTR values; } NT_PRINTER_KEY; typedef struct { int num_keys; NT_PRINTER_KEY *keys; } NT_PRINTER_DATA; typedef struct ntdevicemode { fstring devicename; fstring formname; unsigned short specversion; unsigned short driverversion; unsigned short size; unsigned short driverextra; unsigned short orientation; unsigned short papersize; unsigned short paperlength; unsigned short paperwidth; unsigned short scale; unsigned short copies; unsigned short defaultsource; unsigned short printquality; unsigned short color; unsigned short duplex; unsigned short yresolution; unsigned short ttoption; unsigned short collate; unsigned short logpixels; unsigned int fields; unsigned int bitsperpel; unsigned int pelswidth; unsigned int pelsheight; unsigned int displayflags; unsigned int displayfrequency; unsigned int icmmethod; unsigned int icmintent; unsigned int mediatype; unsigned int dithertype; unsigned int reserved1; unsigned int reserved2; unsigned int panningwidth; unsigned int panningheight; unsigned char *private; } NT_DEVICEMODE; typedef struct nt_printer_info_level_2 { unsigned int attributes; unsigned int priority; unsigned int default_priority; unsigned int starttime; unsigned int untiltime; unsigned int status; unsigned int cjobs; unsigned int averageppm; fstring servername; fstring printername; fstring sharename; fstring portname; fstring drivername; pstring comment; fstring location; NT_DEVICEMODE *devmode; fstring sepfile; fstring printprocessor; fstring datatype; fstring parameters; NT_PRINTER_DATA data; SEC_DESC_BUF *secdesc_buf; unsigned int changeid; unsigned int c_setprinter; unsigned int setuptime; } NT_PRINTER_INFO_LEVEL_2; typedef struct nt_printer_info_level { NT_PRINTER_INFO_LEVEL_2 *info_2; } NT_PRINTER_INFO_LEVEL; typedef struct { fstring name; unsigned int flag; unsigned int width; unsigned int length; unsigned int left; unsigned int top; unsigned int right; unsigned int bottom; } nt_forms_struct; # 414 "include/nt_printing.h" typedef struct spoolss_notify_msg { fstring printer; unsigned int type; unsigned int field; unsigned int id; unsigned int len; unsigned int flags; union { unsigned int value[2]; char *data; } notify; } SPOOLSS_NOTIFY_MSG; typedef struct { fstring printername; unsigned int num_msgs; SPOOLSS_NOTIFY_MSG *msgs; } SPOOLSS_NOTIFY_MSG_GROUP; typedef struct { TALLOC_CTX *ctx; unsigned int num_groups; SPOOLSS_NOTIFY_MSG_GROUP *msg_groups; } SPOOLSS_NOTIFY_MSG_CTR; # 446 "include/nt_printing.h" typedef struct _Printer{ struct _Printer *prev, *next; BOOL document_started; BOOL page_started; unsigned int jobid; BOOL printer_type; TALLOC_CTX *ctx; union { fstring handlename; fstring printerservername; } dev; unsigned int type; unsigned int access_granted; struct { unsigned int flags; unsigned int options; fstring localmachine; unsigned int printerlocal; SPOOL_NOTIFY_OPTION *option; POLICY_HND client_hnd; BOOL client_connected; unsigned int change; BOOL fnpcn; } notify; struct { fstring machine; fstring user; } client; NT_DEVICEMODE *nt_devmode; NT_PRINTER_INFO_LEVEL *printer_info; } Printer_entry; # 810 "include/includes.h" 2 # 1 "include/msdfs.h" 1 # 40 "include/msdfs.h" struct referral { pstring alternate_path; unsigned int proximity; unsigned int ttl; }; struct junction_map { pstring service_name; pstring volume_name; int referral_count; struct referral* referral_list; }; struct dfs_path { pstring hostname; pstring servicename; pstring reqpath; }; # 812 "include/includes.h" 2 # 1 "include/smbprofile.h" 1 # 29 "include/smbprofile.h" enum flush_reason_enum { SEEK_FLUSH, READ_FLUSH, WRITE_FLUSH, READRAW_FLUSH, OPLOCK_RELEASE_FLUSH, CLOSE_FLUSH, SYNC_FLUSH, SIZECHANGE_FLUSH }; # 41 "include/smbprofile.h" struct profile_stats { unsigned smb_count; unsigned uid_changes; unsigned syscall_opendir_count; unsigned syscall_opendir_time; unsigned syscall_readdir_count; unsigned syscall_readdir_time; unsigned syscall_mkdir_count; unsigned syscall_mkdir_time; unsigned syscall_rmdir_count; unsigned syscall_rmdir_time; unsigned syscall_closedir_count; unsigned syscall_closedir_time; unsigned syscall_open_count; unsigned syscall_open_time; unsigned syscall_close_count; unsigned syscall_close_time; unsigned syscall_read_count; unsigned syscall_read_time; unsigned syscall_read_bytes; unsigned syscall_write_count; unsigned syscall_write_time; unsigned syscall_write_bytes; unsigned syscall_lseek_count; unsigned syscall_lseek_time; unsigned syscall_sendfile_count; unsigned syscall_sendfile_time; unsigned syscall_sendfile_bytes; unsigned syscall_rename_count; unsigned syscall_rename_time; unsigned syscall_fsync_count; unsigned syscall_fsync_time; unsigned syscall_stat_count; unsigned syscall_stat_time; unsigned syscall_fstat_count; unsigned syscall_fstat_time; unsigned syscall_lstat_count; unsigned syscall_lstat_time; unsigned syscall_unlink_count; unsigned syscall_unlink_time; unsigned syscall_chmod_count; unsigned syscall_chmod_time; unsigned syscall_fchmod_count; unsigned syscall_fchmod_time; unsigned syscall_chown_count; unsigned syscall_chown_time; unsigned syscall_fchown_count; unsigned syscall_fchown_time; unsigned syscall_chdir_count; unsigned syscall_chdir_time; unsigned syscall_getwd_count; unsigned syscall_getwd_time; unsigned syscall_utime_count; unsigned syscall_utime_time; unsigned syscall_ftruncate_count; unsigned syscall_ftruncate_time; unsigned syscall_fcntl_lock_count; unsigned syscall_fcntl_lock_time; unsigned syscall_readlink_count; unsigned syscall_readlink_time; unsigned syscall_symlink_count; unsigned syscall_symlink_time; unsigned syscall_link_count; unsigned syscall_link_time; unsigned syscall_mknod_count; unsigned syscall_mknod_time; unsigned syscall_realpath_count; unsigned syscall_realpath_time; unsigned syscall_get_quota_count; unsigned syscall_get_quota_time; unsigned syscall_set_quota_count; unsigned syscall_set_quota_time; unsigned statcache_lookups; unsigned statcache_misses; unsigned statcache_hits; unsigned writecache_read_hits; unsigned writecache_abutted_writes; unsigned writecache_total_writes; unsigned writecache_non_oplock_writes; unsigned writecache_direct_writes; unsigned writecache_init_writes; unsigned writecache_flushed_writes[8]; unsigned writecache_num_perfect_writes; unsigned writecache_num_write_caches; unsigned writecache_allocated_write_caches; unsigned SMBmkdir_count; unsigned SMBmkdir_time; unsigned SMBrmdir_count; unsigned SMBrmdir_time; unsigned SMBopen_count; unsigned SMBopen_time; unsigned SMBcreate_count; unsigned SMBcreate_time; unsigned SMBclose_count; unsigned SMBclose_time; unsigned SMBflush_count; unsigned SMBflush_time; unsigned SMBunlink_count; unsigned SMBunlink_time; unsigned SMBmv_count; unsigned SMBmv_time; unsigned SMBgetatr_count; unsigned SMBgetatr_time; unsigned SMBsetatr_count; unsigned SMBsetatr_time; unsigned SMBread_count; unsigned SMBread_time; unsigned SMBwrite_count; unsigned SMBwrite_time; unsigned SMBlock_count; unsigned SMBlock_time; unsigned SMBunlock_count; unsigned SMBunlock_time; unsigned SMBctemp_count; unsigned SMBctemp_time; unsigned SMBmknew_count; unsigned SMBmknew_time; unsigned SMBchkpth_count; unsigned SMBchkpth_time; unsigned SMBexit_count; unsigned SMBexit_time; unsigned SMBlseek_count; unsigned SMBlseek_time; unsigned SMBlockread_count; unsigned SMBlockread_time; unsigned SMBwriteunlock_count; unsigned SMBwriteunlock_time; unsigned SMBreadbraw_count; unsigned SMBreadbraw_time; unsigned SMBreadBmpx_count; unsigned SMBreadBmpx_time; unsigned SMBreadBs_count; unsigned SMBreadBs_time; unsigned SMBwritebraw_count; unsigned SMBwritebraw_time; unsigned SMBwriteBmpx_count; unsigned SMBwriteBmpx_time; unsigned SMBwriteBs_count; unsigned SMBwriteBs_time; unsigned SMBwritec_count; unsigned SMBwritec_time; unsigned SMBsetattrE_count; unsigned SMBsetattrE_time; unsigned SMBgetattrE_count; unsigned SMBgetattrE_time; unsigned SMBlockingX_count; unsigned SMBlockingX_time; unsigned SMBtrans_count; unsigned SMBtrans_time; unsigned SMBtranss_count; unsigned SMBtranss_time; unsigned SMBioctl_count; unsigned SMBioctl_time; unsigned SMBioctls_count; unsigned SMBioctls_time; unsigned SMBcopy_count; unsigned SMBcopy_time; unsigned SMBmove_count; unsigned SMBmove_time; unsigned SMBecho_count; unsigned SMBecho_time; unsigned SMBwriteclose_count; unsigned SMBwriteclose_time; unsigned SMBopenX_count; unsigned SMBopenX_time; unsigned SMBreadX_count; unsigned SMBreadX_time; unsigned SMBwriteX_count; unsigned SMBwriteX_time; unsigned SMBtrans2_count; unsigned SMBtrans2_time; unsigned SMBtranss2_count; unsigned SMBtranss2_time; unsigned SMBfindclose_count; unsigned SMBfindclose_time; unsigned SMBfindnclose_count; unsigned SMBfindnclose_time; unsigned SMBtcon_count; unsigned SMBtcon_time; unsigned SMBtdis_count; unsigned SMBtdis_time; unsigned SMBnegprot_count; unsigned SMBnegprot_time; unsigned SMBsesssetupX_count; unsigned SMBsesssetupX_time; unsigned SMBulogoffX_count; unsigned SMBulogoffX_time; unsigned SMBtconX_count; unsigned SMBtconX_time; unsigned SMBdskattr_count; unsigned SMBdskattr_time; unsigned SMBsearch_count; unsigned SMBsearch_time; unsigned SMBffirst_count; unsigned SMBffirst_time; unsigned SMBfunique_count; unsigned SMBfunique_time; unsigned SMBfclose_count; unsigned SMBfclose_time; unsigned SMBnttrans_count; unsigned SMBnttrans_time; unsigned SMBnttranss_count; unsigned SMBnttranss_time; unsigned SMBntcreateX_count; unsigned SMBntcreateX_time; unsigned SMBntcancel_count; unsigned SMBntcancel_time; unsigned SMBsplopen_count; unsigned SMBsplopen_time; unsigned SMBsplwr_count; unsigned SMBsplwr_time; unsigned SMBsplclose_count; unsigned SMBsplclose_time; unsigned SMBsplretq_count; unsigned SMBsplretq_time; unsigned SMBsends_count; unsigned SMBsends_time; unsigned SMBsendb_count; unsigned SMBsendb_time; unsigned SMBfwdname_count; unsigned SMBfwdname_time; unsigned SMBcancelf_count; unsigned SMBcancelf_time; unsigned SMBgetmac_count; unsigned SMBgetmac_time; unsigned SMBsendstrt_count; unsigned SMBsendstrt_time; unsigned SMBsendend_count; unsigned SMBsendend_time; unsigned SMBsendtxt_count; unsigned SMBsendtxt_time; unsigned SMBinvalid_count; unsigned SMBinvalid_time; unsigned pathworks_setdir_count; unsigned pathworks_setdir_time; unsigned Trans2_open_count; unsigned Trans2_open_time; unsigned Trans2_findfirst_count; unsigned Trans2_findfirst_time; unsigned Trans2_findnext_count; unsigned Trans2_findnext_time; unsigned Trans2_qfsinfo_count; unsigned Trans2_qfsinfo_time; unsigned Trans2_setfsinfo_count; unsigned Trans2_setfsinfo_time; unsigned Trans2_qpathinfo_count; unsigned Trans2_qpathinfo_time; unsigned Trans2_setpathinfo_count; unsigned Trans2_setpathinfo_time; unsigned Trans2_qfileinfo_count; unsigned Trans2_qfileinfo_time; unsigned Trans2_setfileinfo_count; unsigned Trans2_setfileinfo_time; unsigned Trans2_fsctl_count; unsigned Trans2_fsctl_time; unsigned Trans2_ioctl_count; unsigned Trans2_ioctl_time; unsigned Trans2_findnotifyfirst_count; unsigned Trans2_findnotifyfirst_time; unsigned Trans2_findnotifynext_count; unsigned Trans2_findnotifynext_time; unsigned Trans2_mkdir_count; unsigned Trans2_mkdir_time; unsigned Trans2_session_setup_count; unsigned Trans2_session_setup_time; unsigned Trans2_get_dfs_referral_count; unsigned Trans2_get_dfs_referral_time; unsigned Trans2_report_dfs_inconsistancy_count; unsigned Trans2_report_dfs_inconsistancy_time; unsigned NT_transact_create_count; unsigned NT_transact_create_time; unsigned NT_transact_ioctl_count; unsigned NT_transact_ioctl_time; unsigned NT_transact_set_security_desc_count; unsigned NT_transact_set_security_desc_time; unsigned NT_transact_notify_change_count; unsigned NT_transact_notify_change_time; unsigned NT_transact_rename_count; unsigned NT_transact_rename_time; unsigned NT_transact_query_security_desc_count; unsigned NT_transact_query_security_desc_time; unsigned NT_transact_get_user_quota_count; unsigned NT_transact_get_user_quota_time; unsigned NT_transact_set_user_quota_count; unsigned NT_transact_set_user_quota_time; unsigned get_nt_acl_count; unsigned get_nt_acl_time; unsigned fget_nt_acl_count; unsigned fget_nt_acl_time; unsigned set_nt_acl_count; unsigned set_nt_acl_time; unsigned fset_nt_acl_count; unsigned fset_nt_acl_time; unsigned chmod_acl_count; unsigned chmod_acl_time; unsigned fchmod_acl_count; unsigned fchmod_acl_time; unsigned name_release_count; unsigned name_release_time; unsigned name_refresh_count; unsigned name_refresh_time; unsigned name_registration_count; unsigned name_registration_time; unsigned node_status_count; unsigned node_status_time; unsigned name_query_count; unsigned name_query_time; unsigned host_announce_count; unsigned host_announce_time; unsigned workgroup_announce_count; unsigned workgroup_announce_time; unsigned local_master_announce_count; unsigned local_master_announce_time; unsigned master_browser_announce_count; unsigned master_browser_announce_time; unsigned lm_host_announce_count; unsigned lm_host_announce_time; unsigned get_backup_list_count; unsigned get_backup_list_time; unsigned reset_browser_count; unsigned reset_browser_time; unsigned announce_request_count; unsigned announce_request_time; unsigned lm_announce_request_count; unsigned lm_announce_request_time; unsigned domain_logon_count; unsigned domain_logon_time; unsigned sync_browse_lists_count; unsigned sync_browse_lists_time; unsigned run_elections_count; unsigned run_elections_time; unsigned election_count; unsigned election_time; }; struct profile_header { int prof_shm_magic; int prof_shm_version; struct profile_stats stats; }; extern struct profile_header *profile_h; extern struct profile_stats *profile_p; extern struct timeval profile_starttime; extern struct timeval profile_endtime; extern struct timeval profile_starttime_nested; extern struct timeval profile_endtime_nested; extern BOOL do_profile_flag; extern BOOL do_profile_times; # 814 "include/includes.h" 2 # 1 "include/rap.h" 1 # 450 "include/rap.h" typedef struct rap_group_info_1 { char group_name[21]; char reserved1; char * comment; } RAP_GROUP_INFO_1; typedef struct rap_user_info_1 { char user_name[21]; char reserved1; char passwrd[16]; unsigned int pwage; unsigned short priv; char * home_dir; char * comment; unsigned short userflags; char * logon_script; } RAP_USER_INFO_1; typedef struct rap_service_info_2 { char service_name[16]; unsigned short status; unsigned int installcode; unsigned short process_num; char * comment; } RAP_SERVICE_INFO_2; typedef struct rap_share_info_0 { char share_name[13]; } RAP_SHARE_INFO_0; typedef struct rap_share_info_1 { char share_name[13]; char reserved1; unsigned short share_type; char * comment; } RAP_SHARE_INFO_1; typedef struct rap_share_info_2 { char share_name[13]; char reserved1; unsigned short share_type; char * comment; unsigned short perms; unsigned short maximum_users; unsigned short active_users; char * path; char password[9]; char reserved2; } RAP_SHARE_INFO_2; # 816 "include/includes.h" 2 # 1 "include/md5.h" 1 struct MD5Context { unsigned int buf[4]; unsigned int bits[2]; unsigned char in[64]; }; void MD5Init(struct MD5Context *context); void MD5Update(struct MD5Context *context, unsigned char const *buf, unsigned len); void MD5Final(unsigned char digest[16], struct MD5Context *context); typedef struct MD5Context MD5_CTX; # 818 "include/includes.h" 2 # 1 "include/hmacmd5.h" 1 # 24 "include/hmacmd5.h" typedef struct { struct MD5Context ctx; unsigned char k_ipad[65]; unsigned char k_opad[65]; } HMACMD5Context; # 819 "include/includes.h" 2 # 1 "include/ntlmssp.h" 1 # 24 "include/ntlmssp.h" enum NTLMSSP_ROLE { NTLMSSP_SERVER, NTLMSSP_CLIENT }; enum NTLM_MESSAGE_TYPE { NTLMSSP_NEGOTIATE = 1, NTLMSSP_CHALLENGE = 2, NTLMSSP_AUTH = 3, NTLMSSP_UNKNOWN = 4 }; # 70 "include/ntlmssp.h" typedef struct ntlmssp_state { TALLOC_CTX *mem_ctx; enum NTLMSSP_ROLE role; BOOL unicode; char *user; char *domain; char *workstation; DATA_BLOB lm_resp; DATA_BLOB nt_resp; DATA_BLOB chal; void *auth_context; const unsigned char *(*get_challenge)(struct ntlmssp_state *ntlmssp_state); NTSTATUS (*check_password)(struct ntlmssp_state *ntlmssp_state); const char *(*get_global_myname)(void); const char *(*get_domain)(void); int server_role; unsigned int expected_state; } NTLMSSP_STATE; typedef struct ntlmssp_client_state { TALLOC_CTX *mem_ctx; unsigned int ref_count; BOOL unicode; BOOL use_ntlmv2; char *user; char *domain; char *workstation; char *password; char *server_domain; const char *(*get_global_myname)(void); const char *(*get_domain)(void); DATA_BLOB chal; DATA_BLOB lm_resp; DATA_BLOB nt_resp; DATA_BLOB session_key; unsigned int neg_flags; unsigned int ntlmssp_seq_num; char cli_sign_const[16]; char cli_seal_const[16]; char srv_sign_const[16]; char srv_seal_const[16]; unsigned char cli_sign_hash[258]; unsigned char cli_seal_hash[258]; unsigned char srv_sign_hash[258]; unsigned char srv_seal_hash[258]; unsigned char ntlmssp_hash[258]; DATA_BLOB stored_response; } NTLMSSP_CLIENT_STATE; # 821 "include/includes.h" 2 # 1 "include/auth.h" 1 # 24 "include/auth.h" typedef struct normal_string { int len; char *str; } AUTH_STR; typedef struct unicode_string { int len; unsigned char *unistr; } AUTH_UNISTR; typedef struct interactive_password { OWF_INFO lm_owf; OWF_INFO nt_owf; } auth_interactive_password; typedef struct auth_usersupplied_info { DATA_BLOB lm_resp; DATA_BLOB nt_resp; auth_interactive_password * interactive_password; DATA_BLOB plaintext_password; BOOL encrypted; unsigned int auth_flags; AUTH_STR client_domain; AUTH_STR domain; AUTH_STR internal_username; AUTH_STR smb_name; AUTH_STR wksta_name; } auth_usersupplied_info; typedef struct auth_serversupplied_info { BOOL guest; uid_t uid; gid_t gid; int n_groups; gid_t *groups; NT_USER_TOKEN *ptok; unsigned char session_key[16]; unsigned char first_8_lm_hash[8]; unsigned int sam_fill_level; SAM_ACCOUNT *sam_account; void *pam_handle; char *unix_name; } auth_serversupplied_info; struct auth_context { DATA_BLOB challenge; const char *challenge_set_by; struct auth_methods *challenge_set_method; struct auth_methods *auth_method_list; TALLOC_CTX *mem_ctx; const unsigned char *(*get_ntlm_challenge)(struct auth_context *auth_context); NTSTATUS (*check_ntlm_password)(const struct auth_context *auth_context, const struct auth_usersupplied_info *user_info, struct auth_serversupplied_info **server_info); NTSTATUS (*nt_status_squash)(NTSTATUS nt_status); void (*free)(struct auth_context **auth_context); }; typedef struct auth_methods { struct auth_methods *prev, *next; const char *name; NTSTATUS (*auth)(const struct auth_context *auth_context, void *my_private_data, TALLOC_CTX *mem_ctx, const struct auth_usersupplied_info *user_info, auth_serversupplied_info **server_info); DATA_BLOB (*get_chal)(const struct auth_context *auth_context, void **my_private_data, TALLOC_CTX *mem_ctx); void *private_data; void (*free_private_data)(void **private_data); void (*send_keepalive)(void **private_data); } auth_methods; typedef NTSTATUS (*auth_init_function)(struct auth_context *, const char *, struct auth_methods **); struct auth_init_function_entry { const char *name; auth_init_function init; struct auth_init_function_entry *prev, *next; }; typedef struct auth_ntlmssp_state { TALLOC_CTX *mem_ctx; struct auth_context *auth_context; struct auth_serversupplied_info *server_info; struct ntlmssp_state *ntlmssp_state; } AUTH_NTLMSSP_STATE; # 823 "include/includes.h" 2 # 1 "include/idmap.h" 1 # 40 "include/idmap.h" struct idmap_methods { NTSTATUS (*init)( char *params ); NTSTATUS (*allocate_rid)(unsigned int *rid, int rid_type); NTSTATUS (*allocate_id)(unid_t *id, int id_type); NTSTATUS (*get_sid_from_id)(DOM_SID *sid, unid_t id, int id_type); NTSTATUS (*get_id_from_sid)(unid_t *id, int *id_type, const DOM_SID *sid); NTSTATUS (*set_mapping)(const DOM_SID *sid, unid_t id, int id_type); NTSTATUS (*close)(void); void (*status)(void); }; # 825 "include/includes.h" 2 # 1 "include/client.h" 1 # 36 "include/client.h" typedef struct file_info { unsigned long long size; unsigned short mode; uid_t uid; gid_t gid; time_t mtime; time_t atime; time_t ctime; pstring name; char short_name[13*3]; } file_info; struct print_job_info { unsigned short id; unsigned short priority; size_t size; fstring user; fstring name; time_t t; }; struct cli_state { int port; int fd; int smb_rw_error; unsigned short cnum; unsigned short pid; unsigned short mid; unsigned short vuid; int protocol; int sec_mode; int rap_error; int privileges; fstring desthost; fstring user_name; fstring domain; fstring server_type; fstring server_os; fstring server_domain; fstring share; fstring dev; struct nmb_name called; struct nmb_name calling; fstring full_dest_host_name; struct in_addr dest_ip; struct pwd_info pwd; DATA_BLOB secblob; unsigned int sesskey; int serverzone; unsigned int servertime; int readbraw_supported; int writebraw_supported; int timeout; size_t max_xmit; size_t max_mux; char *outbuf; char *inbuf; unsigned int bufsize; int initialised; int win95; unsigned int capabilities; TALLOC_CTX *mem_ctx; smb_sign_info sign_info; unsigned char user_session_key[16]; int pipe_idx; unsigned short nt_pipe_fnum; int pipe_auth_flags; unsigned short saved_netlogon_pipe_fnum; struct netsec_auth_struct auth_info; NTLMSSP_CLIENT_STATE *ntlmssp_pipe_state; unsigned char sess_key[16]; DOM_CRED clnt_cred; fstring mach_acct; fstring srv_name_slash; fstring clnt_name_slash; unsigned short max_xmit_frag; unsigned short max_recv_frag; BOOL use_kerberos; BOOL use_spnego; BOOL use_oplocks; BOOL use_level_II_oplocks; BOOL (*oplock_handler)(struct cli_state *cli, int fnum, unsigned char level); BOOL force_dos_errors; BOOL allocated; fstring pipe_name; }; # 827 "include/includes.h" 2 # 1 "/var/tmp/portage/samba-3.0.0-r1/work/samba-3.0.0/source/smbwrapper/smbw.h" 1 # 33 "/var/tmp/portage/samba-3.0.0-r1/work/samba-3.0.0/source/smbwrapper/smbw.h" struct smbw_server { struct smbw_server *next, *prev; struct cli_state cli; char *server_name; char *share_name; char *workgroup; char *username; dev_t dev; BOOL no_pathinfo2; }; struct smbw_filedes { int cli_fd; int ref_count; char *fname; off_t offset; }; struct smbw_file { struct smbw_file *next, *prev; struct smbw_filedes *f; int fd; struct smbw_server *srv; }; struct smbw_dir { struct smbw_dir *next, *prev; int fd; int offset, count, malloced; struct smbw_server *srv; struct file_info *list; char *path; }; typedef void (*smbw_get_auth_data_fn)(char *server, char *share, char **workgroup, char **username, char **password); # 829 "include/includes.h" 2 # 1 "include/session.h" 1 # 28 "include/session.h" struct sessionid { uid_t uid; gid_t gid; fstring username; fstring hostname; fstring netbios_name; fstring remote_machine; fstring id_str; unsigned int id_num; unsigned int pid; fstring ip_addr; }; # 831 "include/includes.h" 2 # 1 "include/asn_1.h" 1 # 24 "include/asn_1.h" struct nesting { off_t start; size_t taglen; struct nesting *next; }; typedef struct { unsigned char *data; size_t length; off_t ofs; struct nesting *nesting; BOOL has_error; } ASN1_DATA; # 833 "include/includes.h" 2 # 1 "/usr/include/popt.h" 1 3 4 # 114 "/usr/include/popt.h" 3 4 struct poptOption { const char * longName; char shortName; int argInfo; void * arg; int val; const char * descrip; const char * argDescrip; }; struct poptAlias { const char * longName; char shortName; int argc; const char ** argv; }; typedef struct poptItem_s { struct poptOption option; int argc; const char ** argv; } * poptItem; # 155 "/usr/include/popt.h" 3 4 extern struct poptOption poptAliasOptions[]; # 165 "/usr/include/popt.h" 3 4 extern struct poptOption poptHelpOptions[]; # 176 "/usr/include/popt.h" 3 4 typedef struct poptContext_s * poptContext; typedef struct poptOption * poptOption; enum poptCallbackReason { POPT_CALLBACK_REASON_PRE = 0, POPT_CALLBACK_REASON_POST = 1, POPT_CALLBACK_REASON_OPTION = 2 }; # 208 "/usr/include/popt.h" 3 4 typedef void (*poptCallbackType) (poptContext con, enum poptCallbackReason reason, const struct poptOption * opt, const char * arg, const void * data) ; # 224 "/usr/include/popt.h" 3 4 poptContext poptGetContext( const char * name, int argc, const char ** argv, const struct poptOption * options, int flags) ; void poptResetContext( poptContext con) ; int poptGetNextOpt( poptContext con) ; const char * poptGetOptArg( poptContext con) ; const char * poptGetArg( poptContext con) ; const char * poptPeekArg( poptContext con) ; const char ** poptGetArgs( poptContext con) ; const char * poptBadOption( poptContext con, int flags) ; poptContext poptFreeContext( poptContext con) ; int poptStuffArgs(poptContext con, const char ** argv) ; # 319 "/usr/include/popt.h" 3 4 int poptAddAlias(poptContext con, struct poptAlias alias, int flags) ; # 329 "/usr/include/popt.h" 3 4 int poptAddItem(poptContext con, poptItem newItem, int flags) ; int poptReadConfigFile(poptContext con, const char * fn) ; int poptReadDefaultConfig(poptContext con, int useEnv) ; # 365 "/usr/include/popt.h" 3 4 int poptDupArgv(int argc, const char **argv, int * argcPtr, const char *** argvPtr) ; # 381 "/usr/include/popt.h" 3 4 int poptParseArgvString(const char * s, int * argcPtr, const char *** argvPtr) ; # 432 "/usr/include/popt.h" 3 4 int poptConfigFileToString(FILE *fp, char ** argstrp, int flags) ; # 443 "/usr/include/popt.h" 3 4 const char *const poptStrerror(const int error) ; # 453 "/usr/include/popt.h" 3 4 void poptSetExecPath(poptContext con, const char * path, int allowAbsolute) ; void poptPrintHelp(poptContext con, FILE * fp, int flags) ; void poptPrintUsage(poptContext con, FILE * fp, int flags) ; void poptSetOtherOptionHelp(poptContext con, const char * text) ; # 492 "/usr/include/popt.h" 3 4 const char * poptGetInvocationName(poptContext con) ; # 504 "/usr/include/popt.h" 3 4 int poptStrippedArgv(poptContext con, int argc, char ** argv) ; # 517 "/usr/include/popt.h" 3 4 int poptSaveLong( long * arg, int argInfo, long aLong) ; # 531 "/usr/include/popt.h" 3 4 int poptSaveInt( int * arg, int argInfo, long aLong) ; # 835 "include/includes.h" 2 # 1 "include/mangle.h" 1 struct mangle_fns { BOOL (*is_mangled)(const char *s); BOOL (*is_8_3)(const char *fname, BOOL check_case, BOOL allow_wildcards); void (*reset)(void); BOOL (*check_cache)(char *s); void (*name_map)(char *OutName, BOOL need83, BOOL cache83); }; # 837 "include/includes.h" 2 # 1 "include/module.h" 1 # 25 "include/module.h" typedef NTSTATUS (init_module_function) (void); typedef int smb_event_id_t; typedef void (smb_idle_event_fn)(void **data,time_t *interval,time_t now); typedef void (smb_exit_event_fn)(void **data); # 839 "include/includes.h" 2 # 1 "nsswitch/winbind_client.h" 1 # 1 "nsswitch/winbind_nss_config.h" 1 # 30 "nsswitch/winbind_nss_config.h" # 1 "include/config.h" 1 # 31 "nsswitch/winbind_nss_config.h" 2 # 77 "nsswitch/winbind_nss_config.h" # 1 "/usr/include/errno.h" 1 3 4 # 78 "nsswitch/winbind_nss_config.h" 2 # 1 "nsswitch/winbind_nss.h" 1 # 42 "nsswitch/winbind_nss.h" # 1 "/usr/include/nss.h" 1 3 4 # 28 "/usr/include/nss.h" 3 4 enum nss_status { NSS_STATUS_TRYAGAIN = -2, NSS_STATUS_UNAVAIL, NSS_STATUS_NOTFOUND, NSS_STATUS_SUCCESS, NSS_STATUS_RETURN }; # 47 "/usr/include/nss.h" 3 4 extern int __nss_configure_lookup (__const char *__dbname, __const char *__string) ; # 43 "nsswitch/winbind_nss.h" 2 typedef enum nss_status NSS_STATUS; # 80 "nsswitch/winbind_nss_config.h" 2 # 2 "nsswitch/winbind_client.h" 2 # 1 "nsswitch/winbindd_nss.h" 1 # 43 "nsswitch/winbindd_nss.h" enum winbindd_cmd { WINBINDD_INTERFACE_VERSION, WINBINDD_GETPWNAM, WINBINDD_GETPWUID, WINBINDD_GETGRNAM, WINBINDD_GETGRGID, WINBINDD_GETGROUPS, WINBINDD_SETPWENT, WINBINDD_ENDPWENT, WINBINDD_GETPWENT, WINBINDD_SETGRENT, WINBINDD_ENDGRENT, WINBINDD_GETGRENT, WINBINDD_PAM_AUTH, WINBINDD_PAM_AUTH_CRAP, WINBINDD_PAM_CHAUTHTOK, WINBINDD_LIST_USERS, WINBINDD_LIST_GROUPS, WINBINDD_LIST_TRUSTDOM, WINBINDD_LOOKUPSID, WINBINDD_LOOKUPNAME, WINBINDD_SID_TO_UID, WINBINDD_SID_TO_GID, WINBINDD_UID_TO_SID, WINBINDD_GID_TO_SID, WINBINDD_CHECK_MACHACC, WINBINDD_PING, WINBINDD_INFO, WINBINDD_DOMAIN_NAME, WINBINDD_SHOW_SEQUENCE, WINBINDD_WINS_BYIP, WINBINDD_WINS_BYNAME, WINBINDD_CREATE_USER, WINBINDD_CREATE_GROUP, WINBINDD_ADD_USER_TO_GROUP, WINBINDD_REMOVE_USER_FROM_GROUP, WINBINDD_SET_USER_PRIMARY_GROUP, WINBINDD_DELETE_USER, WINBINDD_DELETE_GROUP, WINBINDD_GETGRLST, WINBINDD_NETBIOS_NAME, WINBINDD_PRIV_PIPE_DIR, WINBINDD_NUM_CMDS }; typedef struct winbindd_pw { fstring pw_name; fstring pw_passwd; uid_t pw_uid; gid_t pw_gid; fstring pw_gecos; fstring pw_dir; fstring pw_shell; } WINBINDD_PW; typedef struct winbindd_gr { fstring gr_name; fstring gr_passwd; gid_t gr_gid; int num_gr_mem; int gr_mem_ofs; char **gr_mem; } WINBINDD_GR; # 155 "nsswitch/winbindd_nss.h" struct winbindd_request { unsigned int length; enum winbindd_cmd cmd; pid_t pid; unsigned int flags; fstring domain_name; union { fstring winsreq; fstring username; fstring groupname; uid_t uid; gid_t gid; struct { fstring user; fstring pass; } auth; struct { unsigned char chal[8]; fstring user; fstring domain; fstring lm_resp; unsigned short lm_resp_len; fstring nt_resp; unsigned short nt_resp_len; fstring workstation; } auth_crap; struct { fstring user; fstring oldpass; fstring newpass; } chauthtok; fstring sid; struct { fstring dom_name; fstring name; } name; unsigned int num_entries; struct { fstring username; fstring groupname; } acct_mgt; } data; char null_term; }; enum winbindd_result { WINBINDD_ERROR, WINBINDD_OK }; struct winbindd_response { unsigned int length; enum winbindd_result result; union { int interface_version; fstring winsresp; struct winbindd_pw pw; struct winbindd_gr gr; unsigned int num_entries; struct winbindd_sid { fstring sid; int type; } sid; struct winbindd_name { fstring dom_name; fstring name; int type; } name; uid_t uid; gid_t gid; struct winbindd_info { char winbind_separator; fstring samba_version; } info; fstring domain_name; fstring netbios_name; struct auth_reply { unsigned int nt_status; fstring nt_status_string; fstring error_string; int pam_error; char nt_session_key[16]; char first_8_lm_hash[8]; } auth; unsigned int rid; } data; void *extra_data; }; # 3 "nsswitch/winbind_client.h" 2 void init_request(struct winbindd_request *req,int rq_type); NSS_STATUS winbindd_send_request(int req_type, struct winbindd_request *request); NSS_STATUS winbindd_get_response(struct winbindd_response *response); NSS_STATUS winbindd_request(int req_type, struct winbindd_request *request, struct winbindd_response *response); int winbind_open_pipe_sock(void); int write_sock(void *buffer, int count); int read_reply(struct winbindd_response *response); void close_sock(void); void free_response(struct winbindd_response *response); # 841 "include/includes.h" 2 # 1 "include/spnego.h" 1 # 39 "include/spnego.h" typedef enum _spnego_negResult { SPNEGO_ACCEPT_COMPLETED = 0, SPNEGO_ACCEPT_INCOMPLETE = 1, SPNEGO_REJECT = 2 } negResult_t; typedef struct spnego_negTokenInit { const char **mechTypes; int reqFlags; DATA_BLOB mechToken; DATA_BLOB mechListMIC; } negTokenInit_t; typedef struct spnego_negTokenTarg { unsigned char negResult; const char *supportedMech; DATA_BLOB responseToken; DATA_BLOB mechListMIC; } negTokenTarg_t; typedef struct spnego_spnego { int type; negTokenInit_t negTokenInit; negTokenTarg_t negTokenTarg; } SPNEGO_DATA; # 843 "include/includes.h" 2 typedef struct smb_wdirent { wpstring d_name; } SMB_STRUCT_WDIRENT; typedef struct smb_wpasswd { wfstring pw_name; char *pw_passwd; uid_t pw_uid; gid_t pw_gid; wpstring pw_gecos; wpstring pw_dir; wpstring pw_shell; } SMB_STRUCT_WPASSWD; struct functable { const char *funcname; int (*fn)(int argc, const char **argv); }; # 886 "include/includes.h" struct printjob; struct smb_ldap_privates; # 1 "include/smbldap.h" 1 # 142 "include/smbldap.h" struct smbldap_state; # 893 "include/includes.h" 2 # 1 "include/proto.h" 1 # 9 "include/proto.h" NTSTATUS smb_register_auth(int version, const char *name, auth_init_function init); BOOL load_auth_module(struct auth_context *auth_context, const char *module, auth_methods **ret) ; NTSTATUS make_auth_context_subsystem(struct auth_context **auth_context) ; NTSTATUS make_auth_context_fixed(struct auth_context **auth_context, unsigned char chal[8]) ; NTSTATUS auth_builtin_init(void); NTSTATUS check_plaintext_password(const char *smb_name, DATA_BLOB plaintext_password, auth_serversupplied_info **server_info); BOOL password_ok(char *smb_name, DATA_BLOB password_blob); NTSTATUS auth_domain_init(void) ; NTSTATUS auth_ntlmssp_start(AUTH_NTLMSSP_STATE **auth_ntlmssp_state); NTSTATUS auth_ntlmssp_end(AUTH_NTLMSSP_STATE **auth_ntlmssp_state); NTSTATUS auth_ntlmssp_update(AUTH_NTLMSSP_STATE *auth_ntlmssp_state, const DATA_BLOB request, DATA_BLOB *reply) ; NTSTATUS auth_rhosts_init(void); NTSTATUS auth_sam_init(void); NTSTATUS auth_server_init(void); NTSTATUS auth_unix_init(void); void auth_add_user_script(const char *domain, const char *username); NTSTATUS auth_get_sam_account(const char *user, SAM_ACCOUNT **account) ; NTSTATUS make_user_info_map(auth_usersupplied_info **user_info, const char *smb_name, const char *client_domain, const char *wksta_name, DATA_BLOB lm_pwd, DATA_BLOB nt_pwd, DATA_BLOB plaintext, unsigned int ntlmssp_flags, BOOL encrypted); BOOL make_user_info_netlogon_network(auth_usersupplied_info **user_info, const char *smb_name, const char *client_domain, const char *wksta_name, const unsigned char *lm_network_pwd, int lm_pwd_len, const unsigned char *nt_network_pwd, int nt_pwd_len); BOOL make_user_info_netlogon_interactive(auth_usersupplied_info **user_info, const char *smb_name, const char *client_domain, const char *wksta_name, const unsigned char chal[8], const unsigned char lm_interactive_pwd[16], const unsigned char nt_interactive_pwd[16], const unsigned char *dc_sess_key); BOOL make_user_info_for_reply(auth_usersupplied_info **user_info, const char *smb_name, const char *client_domain, const unsigned char chal[8], DATA_BLOB plaintext_password); NTSTATUS make_user_info_for_reply_enc(auth_usersupplied_info **user_info, const char *smb_name, const char *client_domain, DATA_BLOB lm_resp, DATA_BLOB nt_resp); BOOL make_user_info_guest(auth_usersupplied_info **user_info) ; void debug_nt_user_token(int dbg_class, int dbg_lev, NT_USER_TOKEN *token); void debug_unix_user_token(int dbg_class, int dbg_lev, uid_t uid, gid_t gid, int n_groups, gid_t *groups); NT_USER_TOKEN *create_nt_token(uid_t uid, gid_t gid, int ngroups, gid_t *groups, BOOL is_guest); NTSTATUS make_server_info_sam(auth_serversupplied_info **server_info, SAM_ACCOUNT *sampass); NTSTATUS make_server_info_pw(auth_serversupplied_info **server_info, const struct passwd *pwd); NTSTATUS make_server_info_guest(auth_serversupplied_info **server_info); NTSTATUS make_server_info_info3(TALLOC_CTX *mem_ctx, const char *internal_username, const char *sent_nt_username, const char *domain, auth_serversupplied_info **server_info, NET_USER_INFO_3 *info3) ; void free_user_info(auth_usersupplied_info **user_info); void free_server_info(auth_serversupplied_info **server_info); BOOL make_auth_methods(struct auth_context *auth_context, auth_methods **auth_method) ; void delete_nt_token(NT_USER_TOKEN **pptoken); NT_USER_TOKEN *dup_nt_token(NT_USER_TOKEN *ptoken); NTSTATUS nt_status_squash(NTSTATUS nt_status); BOOL is_trusted_domain(const char* dom_name); NTSTATUS auth_winbind_init(void); BOOL smb_pam_claim_session(char *user, char *tty, char *rhost); BOOL smb_pam_close_session(char *user, char *tty, char *rhost); NTSTATUS smb_pam_accountcheck(const char * user); NTSTATUS smb_pam_passcheck(const char * user, const char * password); BOOL smb_pam_passchange(const char * user, const char * oldpassword, const char * newpassword); NTSTATUS smb_pam_accountcheck(const char * user); BOOL smb_pam_claim_session(char *user, char *tty, char *rhost); BOOL smb_pam_close_session(char *in_user, char *tty, char *rhost); void dfs_unlogin(void); NTSTATUS pass_check(const struct passwd *pass, const char *user, const char *password, int pwlen, BOOL (*fn) (const char *, const char *), BOOL run_cracker); char *decode_sid_name_use(fstring group, enum SID_NAME_USE name_use); BOOL add_initial_entry(gid_t gid, const char *sid, enum SID_NAME_USE sid_name_use, const char *nt_name, const char *comment); BOOL get_domain_group_from_sid(DOM_SID sid, GROUP_MAP *map); BOOL get_local_group_from_sid(DOM_SID sid, GROUP_MAP *map); BOOL get_builtin_group_from_sid(DOM_SID sid, GROUP_MAP *map); BOOL get_group_from_gid(gid_t gid, GROUP_MAP *map); BOOL get_uid_list_of_group(gid_t gid, uid_t **uid, int *num_uids); int smb_create_group(char *unix_group, gid_t *new_gid); int smb_delete_group(char *unix_group); int smb_set_primary_group(const char *unix_group, const char* unix_user); int smb_add_user_group(char *unix_group, char *unix_user); int smb_delete_user_group(const char *unix_group, const char *unix_user); NTSTATUS pdb_default_getgrsid(struct pdb_methods *methods, GROUP_MAP *map, DOM_SID sid); NTSTATUS pdb_default_getgrgid(struct pdb_methods *methods, GROUP_MAP *map, gid_t gid); NTSTATUS pdb_default_getgrnam(struct pdb_methods *methods, GROUP_MAP *map, const char *name); NTSTATUS pdb_default_add_group_mapping_entry(struct pdb_methods *methods, GROUP_MAP *map); NTSTATUS pdb_default_update_group_mapping_entry(struct pdb_methods *methods, GROUP_MAP *map); NTSTATUS pdb_default_delete_group_mapping_entry(struct pdb_methods *methods, DOM_SID sid); NTSTATUS pdb_default_enum_group_mapping(struct pdb_methods *methods, enum SID_NAME_USE sid_name_use, GROUP_MAP **rmap, int *num_entries, BOOL unix_only); NTSTATUS pdb_nop_getgrsid(struct pdb_methods *methods, GROUP_MAP *map, DOM_SID sid); NTSTATUS pdb_nop_getgrgid(struct pdb_methods *methods, GROUP_MAP *map, gid_t gid); NTSTATUS pdb_nop_getgrnam(struct pdb_methods *methods, GROUP_MAP *map, const char *name); NTSTATUS pdb_nop_add_group_mapping_entry(struct pdb_methods *methods, GROUP_MAP *map); NTSTATUS pdb_nop_update_group_mapping_entry(struct pdb_methods *methods, GROUP_MAP *map); NTSTATUS pdb_nop_delete_group_mapping_entry(struct pdb_methods *methods, DOM_SID sid); NTSTATUS pdb_nop_enum_group_mapping(struct pdb_methods *methods, enum SID_NAME_USE sid_name_use, GROUP_MAP **rmap, int *num_entries, BOOL unix_only); BOOL lang_tdb_init(const char *lang); const char *lang_msg(const char *msgid); void lang_msg_free(const char *msgstr); const char *lang_msg_rotate(const char *msgid); char *lang_tdb_current(void); BOOL allow_access(const char **deny_list, const char **allow_list, const char *cname, const char *caddr); BOOL check_access(int sock, const char **allow_list, const char **deny_list); BOOL init_account_policy(void); int account_policy_name_to_fieldnum(const char *name); BOOL account_policy_get(int field, unsigned int *value); BOOL account_policy_set(int field, unsigned int value); SORTED_TREE* sorted_tree_init( void *data_p, int (cmp_fn)(void*, void*), void (free_fn)(void*) ); void sorted_tree_destroy( SORTED_TREE *tree ); BOOL sorted_tree_add( SORTED_TREE *tree, const char *path, void *data_p ); void sorted_tree_print_keys( SORTED_TREE *tree, int debug ); void* sorted_tree_find( SORTED_TREE *tree, char *key ); BOOL afs_login(connection_struct *conn); BOOL afs_login(connection_struct *conn); struct bitmap *bitmap_allocate(int n); void bitmap_free(struct bitmap *bm); struct bitmap *bitmap_talloc(TALLOC_CTX *mem_ctx, int n); BOOL bitmap_set(struct bitmap *bm, unsigned i); BOOL bitmap_clear(struct bitmap *bm, unsigned i); BOOL bitmap_query(struct bitmap *bm, unsigned i); int bitmap_find(struct bitmap *bm, unsigned ofs); void lazy_initialize_conv(void); void init_iconv(void); size_t convert_string(charset_t from, charset_t to, void const *src, size_t srclen, void *dest, size_t destlen); size_t convert_string_allocate(TALLOC_CTX *ctx, charset_t from, charset_t to, void const *src, size_t srclen, void **dest); size_t unix_strupper(const char *src, size_t srclen, char *dest, size_t destlen); char *strdup_upper(const char *s); size_t unix_strlower(const char *src, size_t srclen, char *dest, size_t destlen); char *strdup_lower(const char *s); size_t push_ascii(void *dest, const char *src, size_t dest_len, int flags); size_t push_ascii_fstring(void *dest, const char *src); size_t push_ascii_pstring(void *dest, const char *src); size_t push_ascii_nstring(void *dest, const char *src); size_t pull_ascii(char *dest, const void *src, size_t dest_len, size_t src_len, int flags); size_t pull_ascii_pstring(char *dest, const void *src); size_t pull_ascii_fstring(char *dest, const void *src); size_t pull_ascii_nstring(char *dest, const void *src); size_t push_ucs2(const void *base_ptr, void *dest, const char *src, size_t dest_len, int flags); size_t push_ucs2_talloc(TALLOC_CTX *ctx, smb_ucs2_t **dest, const char *src); size_t push_ucs2_allocate(smb_ucs2_t **dest, const char *src); size_t push_utf8_fstring(void *dest, const char *src); size_t push_utf8_talloc(TALLOC_CTX *ctx, char **dest, const char *src); size_t push_utf8_allocate(char **dest, const char *src); size_t pull_ucs2(const void *base_ptr, char *dest, const void *src, size_t dest_len, size_t src_len, int flags); size_t pull_ucs2_pstring(char *dest, const void *src); size_t pull_ucs2_fstring(char *dest, const void *src); size_t pull_ucs2_talloc(TALLOC_CTX *ctx, char **dest, const smb_ucs2_t *src); size_t pull_ucs2_allocate(char **dest, const smb_ucs2_t *src); size_t pull_utf8_talloc(TALLOC_CTX *ctx, char **dest, const char *src); size_t pull_utf8_allocate(void **dest, const char *src); size_t push_string_fn(const char *function, unsigned int line, const void *base_ptr, void *dest, const char *src, size_t dest_len, int flags); size_t pull_string_fn(const char *function, unsigned int line, const void *base_ptr, char *dest, const void *src, size_t dest_len, size_t src_len, int flags); size_t align_string(const void *base_ptr, const char *p, int flags); void clobber_region(const char *fn, unsigned int line, char *dest, size_t len); unsigned int crc32_calc_buffer( const char *buffer, unsigned int count); DATA_BLOB data_blob(const void *p, size_t length); DATA_BLOB data_blob_talloc(TALLOC_CTX *mem_ctx, const void *p, size_t length); void data_blob_free(DATA_BLOB *d); void data_blob_clear_free(DATA_BLOB *d); const char *debug_classname_from_index(int ndx); int debug_add_class(const char *classname); int debug_lookup_classname(const char *classname); BOOL debug_parse_levels(const char *params_str); void debug_message_send(pid_t pid, const char *params_str); void debug_init(void); void setup_logging(const char *pname, BOOL interactive); BOOL reopen_logs( void ); void force_check_log_size( void ); BOOL need_to_check_log_size( void ); void check_log_size( void ); void dbgflush( void ); BOOL dbghdr( int level, const char *file, const char *func, int line ); void register_dmalloc_msgs(void); void display_set_stderr(void); void fault_setup(void (*fn)(void *)); int sys_fsusage(const char *path, unsigned long long *dfree, unsigned long long *dsize); BOOL gencache_init(void); BOOL gencache_shutdown(void); BOOL gencache_set(const char *keystr, const char *value, time_t timeout); BOOL gencache_set_only(const char *keystr, const char *valstr, time_t timeout); BOOL gencache_del(const char *keystr); BOOL gencache_get(const char *keystr, char **valstr, time_t *timeout); void gencache_iterate(void (*fn)(const char* key, const char *value, time_t timeout, void* dptr), void* data, const char* keystr_pattern); int gencache_lock_entry( const char *key ); void gencache_unlock_entry( const char *key ); void set_rand_reseed_data(unsigned char *data, size_t len); void generate_random_buffer( unsigned char *out, int len, BOOL do_reseed_now); char *generate_random_str(size_t len); char *getsmbpass(const char *prompt); BOOL hash_table_init(hash_table *table, unsigned num_buckets, compare_function compare_func); hash_element *hash_lookup(hash_table *table, char *key); hash_element *hash_insert(hash_table *table, char *value, char *key); void hash_remove(hash_table *table, hash_element *hash_elem); void hash_clear(hash_table *table); void hmac_md5_init_rfc2104(unsigned char* key, int key_len, HMACMD5Context *ctx); void hmac_md5_init_limK_to_64(const unsigned char* key, int key_len, HMACMD5Context *ctx); void hmac_md5_update(const unsigned char* text, int text_len, HMACMD5Context *ctx); void hmac_md5_final(unsigned char *digest, HMACMD5Context *ctx); void hmac_md5( unsigned char key[16], unsigned char* data, int data_len, unsigned char* digest); NTSTATUS smb_register_charset(struct charset_functions *funcs) ; void lazy_initialize_iconv(void); size_t smb_iconv(smb_iconv_t cd, const char **inbuf, size_t *inbytesleft, char **outbuf, size_t *outbytesleft); smb_iconv_t smb_iconv_open(const char *tocode, const char *fromcode); int smb_iconv_close (smb_iconv_t cd); void load_interfaces(void); BOOL interfaces_changed(void); BOOL ismyip(struct in_addr ip); BOOL is_local_net(struct in_addr from); int iface_count(void); struct interface *get_interface(int n); struct in_addr *iface_n_ip(int n); struct in_addr *iface_n_bcast(int n); struct in_addr *iface_ip(struct in_addr ip); BOOL iface_local(struct in_addr ip); int get_interfaces(struct iface_struct *ifaces, int max_interfaces); char *escape_ldap_string_alloc(const char *s); void mdfour(unsigned char *out, const unsigned char *in, int n); void MD5Init(struct MD5Context *ctx); void MD5Update(struct MD5Context *ctx, unsigned char const *buf, unsigned len); void MD5Final(unsigned char digest[16], struct MD5Context *ctx); BOOL message_init(void); BOOL message_send_pid(pid_t pid, int msg_type, const void *buf, size_t len, BOOL duplicates_allowed); BOOL message_send_pid_with_timeout(pid_t pid, int msg_type, const void *buf, size_t len, BOOL duplicates_allowed, unsigned int timeout); unsigned int messages_pending_for_pid(pid_t pid); void message_dispatch(void); void message_register(int msg_type, void (*fn)(int msg_type, pid_t pid, void *buf, size_t len)); void message_deregister(int msg_type); BOOL message_send_all(TDB_CONTEXT *conn_tdb, int msg_type, const void *buf, size_t len, BOOL duplicates_allowed, int *n_sent); NTSTATUS smb_load_module(const char *module_name); int smb_load_modules(const char **modules); NTSTATUS smb_probe_module(const char *subsystem, const char *module); NTSTATUS smb_load_module(const char *module_name); int smb_load_modules(const char **modules); NTSTATUS smb_probe_module(const char *subsystem, const char *module); void init_modules(void); smb_event_id_t smb_register_idle_event(smb_idle_event_fn *fn, void *data, time_t interval); BOOL smb_unregister_idle_event(smb_event_id_t id); void smb_run_idle_events(time_t now); smb_event_id_t smb_register_exit_event(smb_exit_event_fn *fn, void *data); BOOL smb_unregister_exit_event(smb_event_id_t id); void smb_run_exit_events(void); int ms_fnmatch(const char *pattern, const char *string, int protocol, BOOL case_senstive); int gen_fnmatch(const char *pattern, const char *string); NTSTATUS pam_to_nt_status(int pam_error); int nt_status_to_pam(NTSTATUS nt_status); NTSTATUS pam_to_nt_status(int pam_error); int nt_status_to_pam(NTSTATUS nt_status); pid_t pidfile_pid(const char *name); void pidfile_create(const char *name); char *smb_readline(char *prompt, void (*callback)(void), char **(completion_fn)(const char *text, int start, int end)); const char *smb_readline_get_line_buffer(void); void smb_readline_ca_char(char c); int cmd_history(void); char *rep_inet_ntoa(struct in_addr ip); void sys_select_signal(void); int sys_select(int maxfd, fd_set *readfds, fd_set *writefds, fd_set *errorfds, struct timeval *tval); int sys_select_intr(int maxfd, fd_set *readfds, fd_set *writefds, fd_set *errorfds, struct timeval *tval); ssize_t sys_sendfile(int tofd, int fromfd, const DATA_BLOB *header, off_t offset, size_t count); ssize_t sys_sendfile(int tofd, int fromfd, const DATA_BLOB *header, off_t offset, size_t count); ssize_t sys_sendfile(int tofd, int fromfd, const DATA_BLOB *header, off_t offset, size_t count); ssize_t sys_sendfile(int tofd, int fromfd, const DATA_BLOB *header, off_t offset, size_t count); ssize_t sys_sendfile(int tofd, int fromfd, const DATA_BLOB *header, off_t offset, size_t count); ssize_t sys_sendfile(int tofd, int fromfd, const DATA_BLOB *header, off_t offset, size_t count); BOOL grab_server_mutex(const char *name); void release_server_mutex(void); void BlockSignals(BOOL block,int signum); void (*CatchSignal(int signum,void (*handler)(int )))(int); void CatchChild(void); void CatchChildLeaveStatus(void); BOOL smbpasswd_gethexpwd(char *p, unsigned char *pwd); void smbpasswd_sethexpwd(fstring p, unsigned char *pwd, unsigned short acb_info); unsigned short smbpasswd_decode_acb_info(const char *p); char *smbpasswd_encode_acb_info(unsigned short acb_info); int smbrun(char *cmd, int *outfd); int smb_snprintf(char *str,size_t count,const char *fmt,...); int sock_exec(const char *prog); void set_local_machine_name(const char* local_name, BOOL perm); void set_remote_machine_name(const char* remote_name, BOOL perm); const char* get_remote_machine_name(void) ; const char* get_local_machine_name(void) ; void sub_set_smb_name(const char *name); void set_current_user_info(const userdom_struct *pcui); void standard_sub_basic(const char *smb_name, char *str,size_t len); char *talloc_sub_basic(TALLOC_CTX *mem_ctx, const char *smb_name, const char *str); char *alloc_sub_basic(const char *smb_name, const char *str); char *talloc_sub_specified(TALLOC_CTX *mem_ctx, const char *input_string, const char *username, const char *domain, uid_t uid, gid_t gid); char *alloc_sub_specified(const char *input_string, const char *username, const char *domain, uid_t uid, gid_t gid); char *talloc_sub_advanced(TALLOC_CTX *mem_ctx, int snum, const char *user, const char *connectpath, gid_t gid, const char *smb_name, const char *str); char *alloc_sub_advanced(int snum, const char *user, const char *connectpath, gid_t gid, const char *smb_name, const char *str); void standard_sub_conn(connection_struct *conn, char *str, size_t len); char *talloc_sub_conn(TALLOC_CTX *mem_ctx, connection_struct *conn, const char *str); char *alloc_sub_conn(connection_struct *conn, const char *str); void standard_sub_snum(int snum, char *str, size_t len); int sys_acl_get_entry( SMB_ACL_T the_acl, int entry_id, SMB_ACL_ENTRY_T *entry_p); int sys_acl_get_tag_type( SMB_ACL_ENTRY_T entry_d, int *tag_type_p); int sys_acl_get_permset( SMB_ACL_ENTRY_T entry_d, mode_t *permset_p); void *sys_acl_get_qualifier( SMB_ACL_ENTRY_T entry_d); SMB_ACL_T sys_acl_get_file( const char *path_p, int type); SMB_ACL_T sys_acl_get_fd(int fd); int sys_acl_clear_perms(mode_t permset); int sys_acl_add_perm( mode_t permset, mode_t perm); int sys_acl_get_perm( mode_t permset, mode_t perm); char *sys_acl_to_text( SMB_ACL_T the_acl, ssize_t *plen); SMB_ACL_T sys_acl_init( int count); int sys_acl_create_entry( SMB_ACL_T *pacl, SMB_ACL_ENTRY_T *pentry); int sys_acl_set_tag_type( SMB_ACL_ENTRY_T entry, int tagtype); int sys_acl_set_qualifier( SMB_ACL_ENTRY_T entry, void *qual); int sys_acl_set_permset( SMB_ACL_ENTRY_T entry, mode_t permset); int sys_acl_valid( SMB_ACL_T theacl ); int sys_acl_set_file(const char *name, int acltype, SMB_ACL_T theacl); int sys_acl_set_fd( int fd, SMB_ACL_T theacl); int sys_acl_delete_def_file(const char *name); int sys_acl_free_text(char *text); int sys_acl_free_acl(SMB_ACL_T the_acl) ; int sys_acl_free_qualifier(void *qual, int tagtype); int sys_acl_get_entry( SMB_ACL_T the_acl, int entry_id, SMB_ACL_ENTRY_T *entry_p); int sys_acl_get_tag_type( SMB_ACL_ENTRY_T entry_d, int *tag_type_p); int sys_acl_get_permset( SMB_ACL_ENTRY_T entry_d, mode_t *permset_p); void *sys_acl_get_qualifier( SMB_ACL_ENTRY_T entry_d); SMB_ACL_T sys_acl_get_file( const char *path_p, int type); SMB_ACL_T sys_acl_get_fd(int fd); int sys_acl_clear_perms(mode_t permset); int sys_acl_add_perm( mode_t permset, mode_t perm); int sys_acl_get_perm( mode_t permset, mode_t perm); char *sys_acl_to_text( SMB_ACL_T the_acl, ssize_t *plen); SMB_ACL_T sys_acl_init( int count); int sys_acl_create_entry( SMB_ACL_T *pacl, SMB_ACL_ENTRY_T *pentry); int sys_acl_set_tag_type( SMB_ACL_ENTRY_T entry, int tagtype); int sys_acl_set_qualifier( SMB_ACL_ENTRY_T entry, void *qual); int sys_acl_set_permset( SMB_ACL_ENTRY_T entry, mode_t permset); int sys_acl_valid( SMB_ACL_T theacl ); int sys_acl_set_file( const char *name, int acltype, SMB_ACL_T theacl); int sys_acl_set_fd( int fd, SMB_ACL_T theacl); int sys_acl_delete_def_file(const char *name); int sys_acl_free_text(char *text); int sys_acl_free_acl(SMB_ACL_T the_acl) ; int sys_acl_free_qualifier(void *qual, int tagtype); int sys_acl_get_entry(SMB_ACL_T acl_d, int entry_id, SMB_ACL_ENTRY_T *entry_p); int sys_acl_get_tag_type(SMB_ACL_ENTRY_T entry_d, int *type_p); int sys_acl_get_permset(SMB_ACL_ENTRY_T entry_d, mode_t *permset_p); void *sys_acl_get_qualifier(SMB_ACL_ENTRY_T entry_d); SMB_ACL_T sys_acl_get_file(const char *path_p, int type); SMB_ACL_T sys_acl_get_fd(int fd); int sys_acl_clear_perms(mode_t permset_d); int sys_acl_add_perm(mode_t permset_d, mode_t perm); int sys_acl_get_perm(mode_t permset_d, mode_t perm); char *sys_acl_to_text(SMB_ACL_T acl_d, ssize_t *len_p); SMB_ACL_T sys_acl_init(int count); int sys_acl_create_entry(SMB_ACL_T *acl_p, SMB_ACL_ENTRY_T *entry_p); int sys_acl_set_tag_type(SMB_ACL_ENTRY_T entry_d, int tag_type); int sys_acl_set_qualifier(SMB_ACL_ENTRY_T entry_d, void *qual_p); int sys_acl_set_permset(SMB_ACL_ENTRY_T entry_d, mode_t permset_d); int sys_acl_valid(SMB_ACL_T acl_d); int sys_acl_set_file(const char *name, int type, SMB_ACL_T acl_d); int sys_acl_set_fd(int fd, SMB_ACL_T acl_d); int sys_acl_delete_def_file(const char *path); int sys_acl_free_text(char *text); int sys_acl_free_acl(SMB_ACL_T acl_d) ; int sys_acl_free_qualifier(void *qual, int tagtype); int sys_acl_get_entry(SMB_ACL_T acl_d, int entry_id, SMB_ACL_ENTRY_T *entry_p); int sys_acl_get_tag_type(SMB_ACL_ENTRY_T entry_d, int *type_p); int sys_acl_get_permset(SMB_ACL_ENTRY_T entry_d, mode_t *permset_p); void *sys_acl_get_qualifier(SMB_ACL_ENTRY_T entry_d); SMB_ACL_T sys_acl_get_file(const char *path_p, int type); SMB_ACL_T sys_acl_get_fd(int fd); int sys_acl_clear_perms(mode_t permset_d); int sys_acl_add_perm(mode_t permset_d, mode_t perm); int sys_acl_get_perm(mode_t permset_d, mode_t perm); char *sys_acl_to_text(SMB_ACL_T acl_d, ssize_t *len_p); SMB_ACL_T sys_acl_init(int count); int sys_acl_create_entry(SMB_ACL_T *acl_p, SMB_ACL_ENTRY_T *entry_p); int sys_acl_set_tag_type(SMB_ACL_ENTRY_T entry_d, int tag_type); int sys_acl_set_qualifier(SMB_ACL_ENTRY_T entry_d, void *qual_p); int sys_acl_set_permset(SMB_ACL_ENTRY_T entry_d, mode_t permset_d); int sys_acl_valid(SMB_ACL_T acl_d); int sys_acl_set_file(const char *name, int type, SMB_ACL_T acl_d); int sys_acl_set_fd(int fd, SMB_ACL_T acl_d); int sys_acl_delete_def_file(const char *path); int sys_acl_free_text(char *text); int sys_acl_free_acl(SMB_ACL_T acl_d) ; int sys_acl_free_qualifier(void *qual, int tagtype); int sys_acl_get_entry(SMB_ACL_T acl_d, int entry_id, SMB_ACL_ENTRY_T *entry_p); int sys_acl_get_tag_type(SMB_ACL_ENTRY_T entry_d, int *type_p); int sys_acl_get_permset(SMB_ACL_ENTRY_T entry_d, mode_t *permset_p); void *sys_acl_get_qualifier(SMB_ACL_ENTRY_T entry_d); SMB_ACL_T sys_acl_get_file(const char *path_p, int type); SMB_ACL_T sys_acl_get_fd(int fd); int sys_acl_clear_perms(mode_t permset_d); int sys_acl_add_perm(mode_t permset_d, mode_t perm); int sys_acl_get_perm(mode_t permset_d, mode_t perm); char *sys_acl_to_text(SMB_ACL_T acl_d, ssize_t *len_p); SMB_ACL_T sys_acl_init(int count); int sys_acl_create_entry(SMB_ACL_T *acl_p, SMB_ACL_ENTRY_T *entry_p); int sys_acl_set_tag_type(SMB_ACL_ENTRY_T entry_d, int tag_type); int sys_acl_set_qualifier(SMB_ACL_ENTRY_T entry_d, void *qual_p); int sys_acl_set_permset(SMB_ACL_ENTRY_T entry_d, mode_t permset_d); int sys_acl_valid(SMB_ACL_T acl_d); int sys_acl_set_file(const char *name, int type, SMB_ACL_T acl_d); int sys_acl_set_fd(int fd, SMB_ACL_T acl_d); int sys_acl_delete_def_file(const char *name); int sys_acl_free_text(char *text); int sys_acl_free_acl(SMB_ACL_T acl_d) ; int sys_acl_free_qualifier(void *qual, int tagtype); int sys_acl_get_entry( SMB_ACL_T theacl, int entry_id, SMB_ACL_ENTRY_T *entry_p); int sys_acl_get_tag_type( SMB_ACL_ENTRY_T entry_d, int *tag_type_p); int sys_acl_get_permset( SMB_ACL_ENTRY_T entry_d, mode_t *permset_p); void *sys_acl_get_qualifier( SMB_ACL_ENTRY_T entry_d); SMB_ACL_T sys_acl_get_file( const char *path_p, int type); SMB_ACL_T sys_acl_get_fd(int fd); int sys_acl_clear_perms(mode_t permset); int sys_acl_add_perm( mode_t permset, mode_t perm); char *sys_acl_to_text( SMB_ACL_T theacl, ssize_t *plen); SMB_ACL_T sys_acl_init( int count); int sys_acl_create_entry( SMB_ACL_T *pacl, SMB_ACL_ENTRY_T *pentry); int sys_acl_set_tag_type( SMB_ACL_ENTRY_T entry, int tagtype); int sys_acl_set_qualifier( SMB_ACL_ENTRY_T entry, void *qual); int sys_acl_set_permset( SMB_ACL_ENTRY_T entry, mode_t permset); int sys_acl_valid( SMB_ACL_T theacl ); int sys_acl_set_file( const char *name, int acltype, SMB_ACL_T theacl); int sys_acl_set_fd( int fd, SMB_ACL_T theacl); int sys_acl_delete_def_file(const char *name); int sys_acl_get_perm( mode_t permset, mode_t perm); int sys_acl_free_text(char *text); int sys_acl_free_acl(SMB_ACL_T posix_acl); int sys_acl_free_qualifier(void *qual, int tagtype); int sys_acl_get_entry( SMB_ACL_T the_acl, int entry_id, SMB_ACL_ENTRY_T *entry_p); int sys_acl_get_tag_type( SMB_ACL_ENTRY_T entry_d, int *tag_type_p); int sys_acl_get_permset( SMB_ACL_ENTRY_T entry_d, mode_t *permset_p); void *sys_acl_get_qualifier( SMB_ACL_ENTRY_T entry_d); SMB_ACL_T sys_acl_get_file( const char *path_p, int type); SMB_ACL_T sys_acl_get_fd(int fd); int sys_acl_clear_perms(mode_t permset); int sys_acl_add_perm( mode_t permset, mode_t perm); int sys_acl_get_perm( mode_t permset, mode_t perm); char *sys_acl_to_text( SMB_ACL_T the_acl, ssize_t *plen); int sys_acl_free_text(char *text); SMB_ACL_T sys_acl_init( int count); int sys_acl_create_entry( SMB_ACL_T *pacl, SMB_ACL_ENTRY_T *pentry); int sys_acl_set_tag_type( SMB_ACL_ENTRY_T entry, int tagtype); int sys_acl_set_qualifier( SMB_ACL_ENTRY_T entry, void *qual); int sys_acl_set_permset( SMB_ACL_ENTRY_T entry, mode_t permset); int sys_acl_valid( SMB_ACL_T theacl ); int sys_acl_set_file( const char *name, int acltype, SMB_ACL_T theacl); int sys_acl_set_fd( int fd, SMB_ACL_T theacl); int sys_acl_delete_def_file(const char *name); int sys_acl_free_acl(SMB_ACL_T the_acl) ; int sys_acl_free_qualifier(void *qual, int tagtype); int sys_get_quota(const char *path, enum SMB_QUOTA_TYPE qtype, unid_t id, SMB_DISK_QUOTA *dp); int sys_set_quota(const char *path, enum SMB_QUOTA_TYPE qtype, unid_t id, SMB_DISK_QUOTA *dp); int sys_usleep(long usecs); ssize_t sys_read(int fd, void *buf, size_t count); ssize_t sys_write(int fd, const void *buf, size_t count); ssize_t sys_send(int s, const void *msg, size_t len, int flags); ssize_t sys_sendto(int s, const void *msg, size_t len, int flags, const struct sockaddr *to, socklen_t tolen); ssize_t sys_recvfrom(int s, void *buf, size_t len, int flags, struct sockaddr *from, socklen_t *fromlen); int sys_fcntl_ptr(int fd, int cmd, void *arg); int sys_fcntl_long(int fd, int cmd, long arg); int sys_stat(const char *fname,struct stat *sbuf); int sys_fstat(int fd,struct stat *sbuf); int sys_lstat(const char *fname,struct stat *sbuf); int sys_ftruncate(int fd, off_t offset); off_t sys_lseek(int fd, off_t offset, int whence); int sys_fseek(FILE *fp, off_t offset, int whence); off_t sys_ftell(FILE *fp); int sys_creat(const char *path, mode_t mode); int sys_open(const char *path, int oflag, mode_t mode); FILE *sys_fopen(const char *path, const char *type); struct dirent64 *sys_readdir(DIR *dirp); int sys_mknod(const char *path, mode_t mode, dev_t dev); char *sys_realpath(const char *path, char *resolved_path); int sys_waitpid(pid_t pid,int *status,int options); char *sys_getwd(char *s); int sys_symlink(const char *oldpath, const char *newpath); int sys_readlink(const char *path, char *buf, size_t bufsiz); int sys_link(const char *oldpath, const char *newpath); int sys_chown(const char *fname,uid_t uid,gid_t gid); int sys_chroot(const char *dname); struct hostent *sys_gethostbyname(const char *name); void oplock_set_capability(BOOL this_process, BOOL inherit); long sys_random(void); void sys_srandom(unsigned int seed); int groups_max(void); int sys_getgroups(int setlen, gid_t *gidset); int sys_setgroups(int setlen, gid_t *gidset); void sys_setpwent(void); struct passwd *sys_getpwent(void); void sys_endpwent(void); struct passwd *sys_getpwnam(const char *name); struct passwd *sys_getpwuid(uid_t uid); struct group *sys_getgrnam(const char *name); struct group *sys_getgrgid(gid_t gid); int wsys_stat(const smb_ucs2_t *wfname,struct stat *sbuf); int wsys_lstat(const smb_ucs2_t *wfname,struct stat *sbuf); int wsys_creat(const smb_ucs2_t *wfname, mode_t mode); int wsys_open(const smb_ucs2_t *wfname, int oflag, mode_t mode); FILE *wsys_fopen(const smb_ucs2_t *wfname, const char *type); DIR *wsys_opendir(const smb_ucs2_t *wfname); smb_ucs2_t *wsys_getwd(smb_ucs2_t *s); int wsys_chown(const smb_ucs2_t *wfname, uid_t uid, gid_t gid); int wsys_chroot(const smb_ucs2_t *wfname); pid_t sys_fork(void); pid_t sys_getpid(void); int sys_popen(const char *command); int sys_pclose(int fd); void *sys_dlopen(const char *name, int flags); void *sys_dlsym(void *handle, const char *symbol); int sys_dlclose (void *handle); const char *sys_dlerror(void); int sys_dup2(int oldfd, int newfd) ; ssize_t sys_getxattr (const char *path, const char *name, void *value, size_t size); ssize_t sys_lgetxattr (const char *path, const char *name, void *value, size_t size); ssize_t sys_fgetxattr (int filedes, const char *name, void *value, size_t size); ssize_t sys_listxattr (const char *path, char *list, size_t size); ssize_t sys_llistxattr (const char *path, char *list, size_t size); ssize_t sys_flistxattr (int filedes, char *list, size_t size); int sys_removexattr (const char *path, const char *name); int sys_lremovexattr (const char *path, const char *name); int sys_fremovexattr (int filedes, const char *name); int sys_setxattr (const char *path, const char *name, const void *value, size_t size, int flags); int sys_lsetxattr (const char *path, const char *name, const void *value, size_t size, int flags); int sys_fsetxattr (int filedes, const char *name, const void *value, size_t size, int flags); int sys_getgrouplist(const char *user, gid_t gid, gid_t *groups, int *grpcnt); void *talloc(TALLOC_CTX *t, size_t size); void *talloc_realloc(TALLOC_CTX *t, void *ptr, size_t size); void talloc_destroy_pool(TALLOC_CTX *t); void talloc_destroy(TALLOC_CTX *t); size_t talloc_pool_size(TALLOC_CTX *t); const char * talloc_pool_name(TALLOC_CTX const *t); void *talloc_zero(TALLOC_CTX *t, size_t size); void *talloc_memdup(TALLOC_CTX *t, const void *p, size_t size); char *talloc_strdup(TALLOC_CTX *t, const char *p); smb_ucs2_t *talloc_strdup_w(TALLOC_CTX *t, const smb_ucs2_t *p); char *talloc_describe_all(TALLOC_CTX *rt); void talloc_get_allocation(TALLOC_CTX *t, size_t *total_bytes, int *n_chunks); void msg_pool_usage(int msg_type, pid_t src_pid, void *buf __attribute__ ((unused)), size_t len __attribute__ ((unused))); void register_msg_pool_usage(void); void get_nttime_max(NTTIME *t); time_t get_time_t_max(void); void GetTimeOfDay(struct timeval *tval); void TimeInit(void); void get_process_uptime(struct timeval *ret_time); int TimeDiff(time_t t); struct tm *LocalTime(time_t *t); time_t nt_time_to_unix(NTTIME *nt); time_t nt_time_to_unix_abs(NTTIME *nt); time_t interpret_long_date(char *p); void unix_to_nt_time(NTTIME *nt, time_t t); void unix_to_nt_time_abs(NTTIME *nt, time_t t); void put_long_date(char *p,time_t t); BOOL null_mtime(time_t mtime); void put_dos_date(char *buf,int offset,time_t unixdate); void put_dos_date2(char *buf,int offset,time_t unixdate); void put_dos_date3(char *buf,int offset,time_t unixdate); time_t make_unix_date(void *date_ptr); time_t make_unix_date2(void *date_ptr); time_t make_unix_date3(void *date_ptr); char *http_timestring(time_t t); char *timestring(BOOL hires); time_t get_create_time(struct stat *st,BOOL fake_dirs); void init_nt_time(NTTIME *nt); BOOL nt_time_is_zero(NTTIME *nt); char *ufc_crypt(const char *key,const char *salt); BOOL split_domain_and_name(const char *name, char *domain, char* username); char *get_user_home_dir(const char *user); BOOL map_username(char *user); struct passwd *Get_Pwnam(const char *user); BOOL user_in_unix_group_list(const char *user,const char *gname); BOOL user_in_group_list(const char *user, const char *gname, gid_t *groups, size_t n_groups); BOOL user_in_list(const char *user,const char **list, gid_t *groups, size_t n_groups); BOOL set_global_myname(const char *myname); const char *global_myname(void); BOOL set_global_myworkgroup(const char *myworkgroup); const char *lp_workgroup(void); BOOL set_global_scope(const char *scope); const char *global_scope(void); const char *my_netbios_names(int i); BOOL set_netbios_aliases(const char **str_array); BOOL init_names(void); const char *tmpdir(void); BOOL in_group(gid_t group, gid_t current_gid, int ngroups, const gid_t *groups); const char *get_numlist(const char *p, unsigned int **num, int *count); BOOL file_exist(const char *fname,struct stat *sbuf); time_t file_modtime(const char *fname); BOOL directory_exist(char *dname,struct stat *st); off_t get_file_size(char *file_name); char *attrib_string(unsigned short mode); void show_msg(char *buf); void smb_setlen(char *buf,int len); int set_message(char *buf,int num_words,int num_bytes,BOOL zero); int set_message_bcc(char *buf,int num_bytes); int set_message_end(void *outbuf,void *end_ptr); void dos_clean_name(char *s); void unix_clean_name(char *s); void make_dir_struct(char *buf, const char *mask, const char *fname,off_t size,int mode,time_t date); void close_low_fds(BOOL stderr_too); int set_blocking(int fd, BOOL set); ssize_t transfer_file_internal(int infd, int outfd, size_t n, ssize_t (*read_fn)(int, void *, size_t), ssize_t (*write_fn)(int, const void *, size_t)); off_t transfer_file(int infd,int outfd,off_t n); void msleep(unsigned int t); void become_daemon(BOOL Fork); BOOL yesno(char *p); void *Realloc(void *p,size_t size); void *Realloc_zero(void *ptr, size_t size); void safe_free(void *p); BOOL get_myname(char *my_name); BOOL get_myfullname(char *my_name); BOOL get_mydomname(fstring my_domname); int interpret_protocol(const char *str,int def); BOOL is_ipaddress(const char *str); unsigned int interpret_addr(const char *str); struct in_addr *interpret_addr2(const char *str); BOOL is_zero_ip(struct in_addr ip); void zero_ip(struct in_addr *ip); char *automount_lookup(const char *user_name); char *automount_lookup(const char *user_name); BOOL same_net(struct in_addr ip1,struct in_addr ip2,struct in_addr mask); BOOL process_exists(pid_t pid); const char *uidtoname(uid_t uid); char *gidtoname(gid_t gid); uid_t nametouid(const char *name); gid_t nametogid(const char *name); void smb_panic(const char *why); const char *readdirname(DIR *p); BOOL is_in_path(const char *name, name_compare_entry *namelist); void set_namearray(name_compare_entry **ppname_array, char *namelist); void free_namearray(name_compare_entry *name_array); BOOL fcntl_lock(int fd, int op, off_t offset, off_t count, int type); BOOL is_myname(const char *s); const char* get_my_primary_ip (void); BOOL is_myname_or_ipaddr(const char *s); BOOL is_myworkgroup(const char *s); void ra_lanman_string( const char *native_lanman ); void set_remote_arch(enum remote_arch_types type); enum remote_arch_types get_remote_arch(void); void print_asc(int level, const unsigned char *buf,int len); void dump_data(int level, const char *buf1,int len); void dump_data_pw(const char *msg, const unsigned char * data, size_t len); char *tab_depth(int depth); int str_checksum(const char *s); void zero_free(void *p, size_t size); int set_maxfiles(int requested_max); BOOL reg_split_key(const char *full_keyname, unsigned int *reg_type, char *key_name); int smb_mkstemp(char *template); void *smb_xmalloc(size_t size); void *smb_xmemdup(const void *p, size_t size); char *smb_xstrdup(const char *s); char *smb_xstrndup(const char *s, size_t n); void *memdup(const void *p, size_t size); char *myhostname(void); char *lock_path(const char *name); char *pid_path(const char *name); char *lib_path(const char *name); const char *shlib_ext(void); char *parent_dirname(const char *path); BOOL ms_has_wild(char *s); BOOL ms_has_wild_w(const smb_ucs2_t *s); BOOL mask_match(const char *string, char *pattern, BOOL is_case_sensitive); BOOL unix_wild_match(const char *pattern, const char *string); int _Insure_trap_error(int a1, int a2, int a3, int a4, int a5, int a6); BOOL do_file_lock(int fd, int waitsecs, int type); BOOL file_lock(int fd, int type, int secs, int *plock_depth); BOOL file_unlock(int fd, int *plock_depth); void *startfilepwent(char *pfile, char *s_readbuf, int bufsize, int *file_lock_depth, BOOL update); void endfilepwent(void *vp, int *file_lock_depth); unsigned long long getfilepwpos(void *vp); BOOL setfilepwpos(void *vp, unsigned long long tok); int getfileline(void *vp, char *linebuf, int linebuf_size); char *fgets_slash(char *s2,int maxlen,XFILE *f); char *file_pload(char *syscmd, size_t *size); char *fd_load(int fd, size_t *size); char *file_load(const char *fname, size_t *size); void *map_file(char *fname, size_t size); char **file_lines_load(const char *fname, int *numlines); char **fd_lines_load(int fd, int *numlines); char **file_lines_pload(char *syscmd, int *numlines); void file_lines_free(char **lines); void file_lines_slashcont(char **lines); BOOL file_save(const char *fname, void *packet, size_t length); struct sys_grent * getgrent_list(void); void grent_free (struct sys_grent *glist); struct sys_pwent * getpwent_list(void); void pwent_free (struct sys_pwent *plist); struct sys_userlist *get_users_in_group(const char *gname); void free_userlist(struct sys_userlist *list_head); void passwd_free (struct passwd **buf); struct passwd *getpwnam_alloc(const char *name) ; struct passwd *getpwuid_alloc(uid_t uid) ; void se_map_generic(unsigned int *access_mask, struct generic_mapping *mapping); void se_map_standard(unsigned int *access_mask, struct standard_mapping *mapping); BOOL se_access_check(const SEC_DESC *sd, const NT_USER_TOKEN *token, unsigned int acc_desired, unsigned int *acc_granted, NTSTATUS *status); SEC_DESC_BUF *se_create_child_secdesc(TALLOC_CTX *ctx, SEC_DESC *parent_ctr, BOOL child_container); NTSTATUS samr_make_sam_obj_sd(TALLOC_CTX *ctx, SEC_DESC **psd, size_t *sd_size); void sec_init(void); uid_t sec_initial_uid(void); gid_t sec_initial_gid(void); BOOL non_root_mode(void); void gain_root_privilege(void); void gain_root_group_privilege(void); void set_effective_uid(uid_t uid); void set_effective_gid(gid_t gid); void save_re_uid(void); void restore_re_uid(void); void save_re_gid(void); void restore_re_gid(void); int set_re_uid(void); void become_user_permanently(uid_t uid, gid_t gid); BOOL is_setuid_root(void) ; const char *sid_type_lookup(unsigned int sid_type) ; void generate_wellknown_sids(void); NT_USER_TOKEN *get_system_token(void) ; void split_domain_name(const char *fullname, char *domain, char *name); BOOL resolvable_wellknown_sid(DOM_SID *sid); char *sid_to_string(fstring sidstr_out, const DOM_SID *sid); const char *sid_string_static(const DOM_SID *sid); BOOL string_to_sid(DOM_SID *sidout, const char *sidstr); BOOL sid_append_rid(DOM_SID *sid, unsigned int rid); BOOL sid_split_rid(DOM_SID *sid, unsigned int *rid); BOOL sid_peek_rid(const DOM_SID *sid, unsigned int *rid); BOOL sid_peek_check_rid(const DOM_SID *exp_dom_sid, const DOM_SID *sid, unsigned int *rid); void sid_copy(DOM_SID *dst, const DOM_SID *src); BOOL sid_linearize(char *outbuf, size_t len, const DOM_SID *sid); BOOL sid_parse(const char *inbuf, size_t len, DOM_SID *sid); int sid_compare(const DOM_SID *sid1, const DOM_SID *sid2); int sid_compare_domain(const DOM_SID *sid1, const DOM_SID *sid2); BOOL sid_equal(const DOM_SID *sid1, const DOM_SID *sid2); BOOL sid_check_is_builtin(const DOM_SID *sid); BOOL sid_check_is_in_builtin(const DOM_SID *sid); size_t sid_size(const DOM_SID *sid); BOOL non_mappable_sid(DOM_SID *sid); char *sid_binstring(const DOM_SID *sid); void print_guid(GUID *guid); DOM_SID *sid_dup_talloc(TALLOC_CTX *ctx, DOM_SID *src); int getgroups_user(const char *user, gid_t **groups); BOOL is_a_socket(int fd); void set_socket_options(int fd, const char *options); ssize_t read_udp_socket(int fd,char *buf,size_t len); ssize_t read_socket_with_timeout(int fd,char *buf,size_t mincnt,size_t maxcnt,unsigned int time_out); ssize_t read_data(int fd,char *buffer,size_t N); ssize_t write_data(int fd,char *buffer,size_t N); ssize_t write_socket(int fd,char *buf,size_t len); BOOL send_keepalive(int client); ssize_t read_smb_length(int fd,char *inbuf,unsigned int timeout); BOOL receive_smb(int fd,char *buffer, unsigned int timeout); BOOL send_smb(int fd,char *buffer); int open_socket_in( int type, int port, int dlevel, unsigned int socket_addr, BOOL rebind ); int open_socket_out(int type, struct in_addr *addr, int port ,int timeout); int open_udp_socket(const char *host, int port); void client_setfd(int fd); char *client_name(void); char *client_addr(void); struct in_addr *client_inaddr(struct sockaddr *sa); char *get_socket_name(int fd, BOOL force_lookup); char *get_socket_addr(int fd); int create_pipe_sock(const char *socket_dir, const char *socket_name, mode_t dir_perms); BOOL next_token(const char **ptr,char *buff, const char *sep, size_t bufsize); BOOL next_token_nr(const char **ptr,char *buff, const char *sep, size_t bufsize); void set_first_token(char *ptr); char **toktocliplist(int *ctok, const char *sep); int StrCaseCmp(const char *s, const char *t); int StrnCaseCmp(const char *s, const char *t, size_t n); BOOL strequal(const char *s1, const char *s2); BOOL strnequal(const char *s1,const char *s2,size_t n); BOOL strcsequal(const char *s1,const char *s2); int strwicmp(const char *psz1, const char *psz2); char *strupper_static(const char *s); void strnorm(char *s); BOOL strisnormal(const char *s); void string_replace(pstring s,char oldc,char newc); char *skip_string(char *buf,size_t n); size_t str_charnum(const char *s); size_t str_ascii_charnum(const char *s); BOOL trim_char(char *s,char cfront,char cback); BOOL trim_string(char *s,const char *front,const char *back); BOOL strhasupper(const char *s); BOOL strhaslower(const char *s); size_t count_chars(const char *s,char c); char *safe_strcpy_fn(const char *fn, int line, char *dest,const char *src, size_t maxlength); char *safe_strcat_fn(const char *fn, int line, char *dest, const char *src, size_t maxlength); char *alpha_strcpy_fn(const char *fn, int line, char *dest, const char *src, const char *other_safe_chars, size_t maxlength); char *StrnCpy_fn(const char *fn, int line,char *dest,const char *src,size_t n); size_t strhex_to_str(char *p, size_t len, const char *strhex); void hex_encode(const unsigned char *buff_in, size_t len, char **out_hex_buffer); BOOL in_list(char *s,char *list,BOOL casesensitive); void string_free(char **s); BOOL string_set(char **dest,const char *src); void string_sub(char *s,const char *pattern, const char *insert, size_t len); void fstring_sub(char *s,const char *pattern,const char *insert); void pstring_sub(char *s,const char *pattern,const char *insert); char *realloc_string_sub(char *string, const char *pattern, const char *insert); void all_string_sub(char *s,const char *pattern,const char *insert, size_t len); smb_ucs2_t *all_string_sub_wa(smb_ucs2_t *s, const char *pattern, const char *insert); const char *octal_string(int i); char *string_truncate(char *s, unsigned int length); char *strchr_m(const char *src, char c); char *strrchr_m(const char *s, char c); char *strnrchr_m(const char *s, char c, unsigned int n); void strlower_m(char *s); void strupper_m(char *s); char *binary_string(char *buf, int len); int fstr_sprintf(fstring s, const char *fmt, ...); char **str_list_make(const char *string, const char *sep); BOOL str_list_copy(char ***dest, const char **src); BOOL str_list_compare(char **list1, char **list2); void str_list_free(char ***list); BOOL str_list_sub_basic( char **list, const char *smb_name ); BOOL str_list_substitute(char **list, const char *pattern, const char *insert); char* ipstr_list_add(char** ipstr_list, const struct ip_service *service); char* ipstr_list_make(char** ipstr_list, const struct ip_service* ip_list, int ip_count); int ipstr_list_parse(const char* ipstr_list, struct ip_service **ip_list); void ipstr_list_free(char* ipstr_list); void rfc1738_unescape(char *buf); DATA_BLOB base64_decode_data_blob(const char *s); void base64_decode_inplace(char *s); char * base64_encode_data_blob(DATA_BLOB data); unsigned long long STR_TO_SMB_BIG_UINT(const char *nptr, const char **entptr); void load_case_tables(void); int check_dos_char(smb_ucs2_t c); void init_doschar_table(void); void init_valid_table(void); size_t dos_PutUniCode(char *dst,const char *src, ssize_t len, BOOL null_terminate); char *skip_unibuf(char *src, size_t len); int rpcstr_pull(char* dest, void *src, int dest_len, int src_len, int flags); int rpcstr_pull_unistr2_fstring(char *dest, UNISTR2 *src); int rpcstr_push(void* dest, const char *src, int dest_len, int flags); char *dos_unistrn2(const unsigned short *src, int len); void unistr2_to_ascii(char *dest, const UNISTR2 *str, size_t maxlen); const char *unistr2_static(const UNISTR2 *str); char *unistr2_tdup(TALLOC_CTX *ctx, const UNISTR2 *str); unsigned int buffer2_to_uint32(BUFFER2 *str); smb_ucs2_t toupper_w(smb_ucs2_t val); smb_ucs2_t tolower_w( smb_ucs2_t val ); BOOL islower_w(smb_ucs2_t c); BOOL isupper_w(smb_ucs2_t c); BOOL isvalid83_w(smb_ucs2_t c); size_t strlen_w(const smb_ucs2_t *src); size_t strnlen_w(const smb_ucs2_t *src, size_t max); smb_ucs2_t *strchr_w(const smb_ucs2_t *s, smb_ucs2_t c); smb_ucs2_t *strchr_wa(const smb_ucs2_t *s, char c); smb_ucs2_t *strrchr_w(const smb_ucs2_t *s, smb_ucs2_t c); smb_ucs2_t *strnrchr_w(const smb_ucs2_t *s, smb_ucs2_t c, unsigned int n); smb_ucs2_t *strstr_w(const smb_ucs2_t *s, const smb_ucs2_t *ins); BOOL strlower_w(smb_ucs2_t *s); BOOL strupper_w(smb_ucs2_t *s); void strnorm_w(smb_ucs2_t *s); int strcmp_w(const smb_ucs2_t *a, const smb_ucs2_t *b); int strncmp_w(const smb_ucs2_t *a, const smb_ucs2_t *b, size_t len); int strcasecmp_w(const smb_ucs2_t *a, const smb_ucs2_t *b); int strncasecmp_w(const smb_ucs2_t *a, const smb_ucs2_t *b, size_t len); BOOL strequal_w(const smb_ucs2_t *s1, const smb_ucs2_t *s2); BOOL strnequal_w(const smb_ucs2_t *s1,const smb_ucs2_t *s2,size_t n); smb_ucs2_t *strdup_w(const smb_ucs2_t *src); smb_ucs2_t *strndup_w(const smb_ucs2_t *src, size_t len); smb_ucs2_t *strncpy_w(smb_ucs2_t *dest, const smb_ucs2_t *src, const size_t max); smb_ucs2_t *strncat_w(smb_ucs2_t *dest, const smb_ucs2_t *src, const size_t max); smb_ucs2_t *strcat_w(smb_ucs2_t *dest, const smb_ucs2_t *src); void string_replace_w(smb_ucs2_t *s, smb_ucs2_t oldc, smb_ucs2_t newc); BOOL trim_string_w(smb_ucs2_t *s, const smb_ucs2_t *front, const smb_ucs2_t *back); void pstrcpy_wa(smb_ucs2_t *dest, const char *src); int strcmp_wa(const smb_ucs2_t *a, const char *b); int strncmp_wa(const smb_ucs2_t *a, const char *b, size_t len); smb_ucs2_t *strpbrk_wa(const smb_ucs2_t *s, const char *p); smb_ucs2_t *strstr_wa(const smb_ucs2_t *s, const char *ins); BOOL trim_string_wa(smb_ucs2_t *s, const char *front, const char *back); int unistrlen(unsigned short *s); int unistrcpy(unsigned short *dst, unsigned short *src); UNISTR2* ucs2_to_unistr2(TALLOC_CTX *ctx, UNISTR2* dst, smb_ucs2_t* src); void smb_uuid_generate_random(GUID *out); char *smb_uuid_to_string(const GUID in); const char *smb_uuid_string_static(const GUID in); const char *samba_version_string(void); BOOL wins_srv_is_dead(struct in_addr wins_ip, struct in_addr src_ip); void wins_srv_alive(struct in_addr wins_ip, struct in_addr src_ip); void wins_srv_died(struct in_addr wins_ip, struct in_addr src_ip); unsigned wins_srv_count(void); char **wins_srv_tags(void); void wins_srv_tags_free(char **list); struct in_addr wins_srv_ip_tag(const char *tag, struct in_addr src_ip); unsigned wins_srv_count_tag(const char *tag); int x_setvbuf(XFILE *f, char *buf, int mode, size_t size); XFILE *x_fopen(const char *fname, int flags, mode_t mode); int x_fclose(XFILE *f); size_t x_fwrite(const void *p, size_t size, size_t nmemb, XFILE *f); int x_fileno(XFILE *f); int x_fflush(XFILE *f); void x_setbuffer(XFILE *f, char *buf, size_t size); void x_setbuf(XFILE *f, char *buf); void x_setlinebuf(XFILE *f); int x_feof(XFILE *f); int x_ferror(XFILE *f); int x_fgetc(XFILE *f); size_t x_fread(void *p, size_t size, size_t nmemb, XFILE *f); char *x_fgets(char *s, int size, XFILE *stream) ; off_t x_tseek(XFILE *f, off_t offset, int whence); NTSTATUS ads_name_to_sid(ADS_STRUCT *ads, const char *name, DOM_SID *sid, enum SID_NAME_USE *type); NTSTATUS ads_sid_to_name(ADS_STRUCT *ads, TALLOC_CTX *mem_ctx, const DOM_SID *sid, char **name, enum SID_NAME_USE *type); ADS_STATUS ads_build_error(enum ads_error_type etype, int rc, int minor_status); ADS_STATUS ads_build_nt_error(enum ads_error_type etype, NTSTATUS nt_status); NTSTATUS ads_ntstatus(ADS_STATUS status); const char *ads_errstr(ADS_STATUS status); char *ads_build_path(const char *realm, const char *sep, const char *field, int reverse); char *ads_build_dn(const char *realm); ADS_STRUCT *ads_init(const char *realm, const char *workgroup, const char *ldap_server); ADS_STRUCT *ads_init_simple(void); void ads_destroy(ADS_STRUCT **ads); unsigned int ads_acb2uf(unsigned short acb); unsigned short ads_uf2acb(unsigned int uf); unsigned int ads_uf2atype(unsigned int uf); unsigned int ads_gtype2atype(unsigned int gtype); enum SID_NAME_USE ads_atype_map(unsigned int atype); PAC_DATA *decode_pac_data(DATA_BLOB *auth_data, TALLOC_CTX *ctx); void ads_disp_sd(SEC_DESC *sd); int kerberos_kinit_password(const char *principal, const char *password, int time_offset); int ads_kinit_password(ADS_STRUCT *ads); NTSTATUS ads_verify_ticket(const char *realm, const DATA_BLOB *ticket, char **principal, DATA_BLOB *auth_data, DATA_BLOB *ap_rep, unsigned char session_key[16]); ADS_STATUS ads_krb5_set_password(const char *kdc_host, const char *princ, const char *newpw, int time_offset); ADS_STATUS kerberos_set_password(const char *kpasswd_server, const char *auth_principal, const char *auth_password, const char *target_principal, const char *new_password, int time_offset); ADS_STATUS ads_set_machine_password(ADS_STRUCT *ads, const char *machine_account, const char *password); ADS_STATUS ads_connect(ADS_STRUCT *ads); ADS_STATUS ads_do_paged_search(ADS_STRUCT *ads, const char *bind_path, int scope, const char *expr, const char **attrs, void **res, int *count, void **cookie); ADS_STATUS ads_do_search_all(ADS_STRUCT *ads, const char *bind_path, int scope, const char *expr, const char **attrs, void **res); ADS_STATUS ads_do_search_all_fn(ADS_STRUCT *ads, const char *bind_path, int scope, const char *expr, const char **attrs, BOOL(*fn)(char *, void **, void *), void *data_area); ADS_STATUS ads_do_search(ADS_STRUCT *ads, const char *bind_path, int scope, const char *expr, const char **attrs, void **res); ADS_STATUS ads_search(ADS_STRUCT *ads, void **res, const char *expr, const char **attrs); ADS_STATUS ads_search_dn(ADS_STRUCT *ads, void **res, const char *dn, const char **attrs); void ads_msgfree(ADS_STRUCT *ads, void *msg); void ads_memfree(ADS_STRUCT *ads, void *mem); char *ads_get_dn(ADS_STRUCT *ads, void *msg); ADS_STATUS ads_find_machine_acct(ADS_STRUCT *ads, void **res, const char *host); ADS_MODLIST ads_init_mods(TALLOC_CTX *ctx); ADS_STATUS ads_mod_str(TALLOC_CTX *ctx, ADS_MODLIST *mods, const char *name, const char *val); ADS_STATUS ads_mod_strlist(TALLOC_CTX *ctx, ADS_MODLIST *mods, const char *name, const char **vals); ADS_STATUS ads_gen_mod(ADS_STRUCT *ads, const char *mod_dn, ADS_MODLIST mods); ADS_STATUS ads_gen_add(ADS_STRUCT *ads, const char *new_dn, ADS_MODLIST mods); ADS_STATUS ads_del_dn(ADS_STRUCT *ads, char *del_dn); char *ads_ou_string(const char *org_unit); void ads_dump(ADS_STRUCT *ads, void *res); void ads_process_results(ADS_STRUCT *ads, void *res, BOOL(*fn)(char *, void **, void *), void *data_area); int ads_count_replies(ADS_STRUCT *ads, void *res); ADS_STATUS ads_join_realm(ADS_STRUCT *ads, const char *hostname, unsigned int account_type, const char *org_unit); ADS_STATUS ads_leave_realm(ADS_STRUCT *ads, const char *hostname); ADS_STATUS ads_set_machine_sd(ADS_STRUCT *ads, const char *hostname, char *dn); void *ads_first_entry(ADS_STRUCT *ads, void *res); void *ads_next_entry(ADS_STRUCT *ads, void *res); char *ads_pull_string(ADS_STRUCT *ads, TALLOC_CTX *mem_ctx, void *msg, const char *field); char **ads_pull_strings(ADS_STRUCT *ads, TALLOC_CTX *mem_ctx, void *msg, const char *field); BOOL ads_pull_uint32(ADS_STRUCT *ads, void *msg, const char *field, unsigned int *v); BOOL ads_pull_guid(ADS_STRUCT *ads, void *msg, GUID *guid); BOOL ads_pull_sid(ADS_STRUCT *ads, void *msg, const char *field, DOM_SID *sid); int ads_pull_sids(ADS_STRUCT *ads, TALLOC_CTX *mem_ctx, void *msg, const char *field, DOM_SID **sids); BOOL ads_pull_sd(ADS_STRUCT *ads, TALLOC_CTX *mem_ctx, void *msg, const char *field, SEC_DESC **sd); char *ads_pull_username(ADS_STRUCT *ads, TALLOC_CTX *mem_ctx, void *msg); ADS_STATUS ads_USN(ADS_STRUCT *ads, unsigned int *usn); ADS_STATUS ads_server_info(ADS_STRUCT *ads); ADS_STATUS ads_domain_sid(ADS_STRUCT *ads, DOM_SID *sid); ADS_STATUS ads_workgroup_name(ADS_STRUCT *ads, TALLOC_CTX *mem_ctx, char **workgroup); ADS_STATUS ads_find_printer_on_server(ADS_STRUCT *ads, void **res, const char *printer, const char *servername); ADS_STATUS ads_find_printers(ADS_STRUCT *ads, void **res); ADS_STATUS ads_mod_printer_entry(ADS_STRUCT *ads, char *prt_dn, TALLOC_CTX *ctx, const ADS_MODLIST *mods); ADS_STATUS ads_add_printer_entry(ADS_STRUCT *ads, char *prt_dn, TALLOC_CTX *ctx, ADS_MODLIST *mods); WERROR get_remote_printer_publishing_data(struct cli_state *cli, TALLOC_CTX *mem_ctx, ADS_MODLIST *mods, const char *printer); BOOL get_local_printer_publishing_data(TALLOC_CTX *mem_ctx, ADS_MODLIST *mods, NT_PRINTER_DATA *data); ADS_STATUS ads_find_user_acct(ADS_STRUCT *ads, void **res, const char *user); ADS_STATUS ads_add_user_acct(ADS_STRUCT *ads, const char *user, const char *container, const char *fullname); ADS_STATUS ads_add_group_acct(ADS_STRUCT *ads, const char *group, const char *container, const char *comment); ADS_STATUS ads_do_search_retry(ADS_STRUCT *ads, const char *bind_path, int scope, const char *expr, const char **attrs, void **res); ADS_STATUS ads_search_retry(ADS_STRUCT *ads, void **res, const char *expr, const char **attrs); ADS_STATUS ads_search_retry_dn(ADS_STRUCT *ads, void **res, const char *dn, const char **attrs); ADS_STATUS ads_sasl_bind(ADS_STRUCT *ads); ADS_STATUS ads_change_trust_account_password(ADS_STRUCT *ads, char *host_principal); void asn1_free(ASN1_DATA *data); BOOL asn1_write(ASN1_DATA *data, const void *p, int len); BOOL asn1_write_uint8(ASN1_DATA *data, unsigned char v); BOOL asn1_push_tag(ASN1_DATA *data, unsigned char tag); BOOL asn1_pop_tag(ASN1_DATA *data); BOOL asn1_write_Integer(ASN1_DATA *data, int i); BOOL asn1_write_OID(ASN1_DATA *data, const char *OID); BOOL asn1_write_OctetString(ASN1_DATA *data, const void *p, size_t length); BOOL asn1_write_GeneralString(ASN1_DATA *data, const char *s); BOOL asn1_write_BOOLEAN(ASN1_DATA *data, BOOL v); BOOL asn1_write_BOOLEAN2(ASN1_DATA *data, BOOL v); BOOL asn1_check_BOOLEAN(ASN1_DATA *data, BOOL v); BOOL asn1_load(ASN1_DATA *data, DATA_BLOB blob); BOOL asn1_read(ASN1_DATA *data, void *p, int len); BOOL asn1_read_uint8(ASN1_DATA *data, unsigned char *v); BOOL asn1_start_tag(ASN1_DATA *data, unsigned char tag); BOOL asn1_end_tag(ASN1_DATA *data); int asn1_tag_remaining(ASN1_DATA *data); BOOL asn1_read_OID(ASN1_DATA *data, char **OID); BOOL asn1_check_OID(ASN1_DATA *data, const char *OID); BOOL asn1_read_GeneralString(ASN1_DATA *data, char **s); BOOL asn1_read_OctetString(ASN1_DATA *data, DATA_BLOB *blob); BOOL asn1_read_Integer(ASN1_DATA *data, int *i); BOOL asn1_check_enumerated(ASN1_DATA *data, int v); BOOL asn1_write_enumerated(ASN1_DATA *data, unsigned char v); BOOL cli_session_setup_spnego(struct cli_state *cli, const char *user, const char *pass, const char *workgroup); BOOL cli_session_setup(struct cli_state *cli, const char *user, const char *pass, int passlen, const char *ntpass, int ntpasslen, const char *workgroup); BOOL cli_ulogoff(struct cli_state *cli); BOOL cli_send_tconX(struct cli_state *cli, const char *share, const char *dev, const char *pass, int passlen); BOOL cli_tdis(struct cli_state *cli); void cli_negprot_send(struct cli_state *cli); BOOL cli_negprot(struct cli_state *cli); BOOL cli_session_request(struct cli_state *cli, struct nmb_name *calling, struct nmb_name *called); BOOL cli_connect(struct cli_state *cli, const char *host, struct in_addr *ip); void init_creds(struct ntuser_creds *creds, const char* username, const char* domain, const char* password); NTSTATUS cli_start_connection(struct cli_state **output_cli, const char *my_name, const char *dest_host, struct in_addr *dest_ip, int port, int signing_state, int flags, BOOL *retry) ; NTSTATUS cli_full_connection(struct cli_state **output_cli, const char *my_name, const char *dest_host, struct in_addr *dest_ip, int port, const char *service, const char *service_type, const char *user, const char *domain, const char *password, int flags, int signing_state, BOOL *retry) ; BOOL attempt_netbios_session_request(struct cli_state *cli, const char *srchost, const char *desthost, struct in_addr *pdest_ip); NTSTATUS cli_raw_tcon(struct cli_state *cli, const char *service, const char *pass, const char *dev, unsigned short *max_xmit, unsigned short *tid); struct cli_state *get_ipc_connect(char *server, struct in_addr *server_ip, struct user_auth_info *user_info); struct cli_state *get_ipc_connect_master_ip_bcast(pstring workgroup, struct user_auth_info *user_info); int cli_send_mailslot(int dgram_sock, BOOL unique, const char *mailslot, char *buf, int len, const char *srcname, int src_type, const char *dstname, int dest_type, struct in_addr dest_ip, struct in_addr src_ip, int dest_port, int src_port); int cli_get_response(int dgram_sock, BOOL unique, const char *mailslot, char *buf, int bufsiz); int cli_get_backup_list(const char *myname, const char *send_to_name); int cli_get_backup_server(char *my_name, char *target, char *servername, int namesize); unsigned int cli_set_timeout(struct cli_state *cli, unsigned int timeout); int cli_set_port(struct cli_state *cli, int port); BOOL cli_receive_smb(struct cli_state *cli); BOOL cli_send_smb(struct cli_state *cli); void cli_setup_packet(struct cli_state *cli); void cli_setup_bcc(struct cli_state *cli, void *p); void cli_init_creds(struct cli_state *cli, const struct ntuser_creds *usr); void cli_setup_signing_state(struct cli_state *cli, int signing_state); struct cli_state *cli_initialise(struct cli_state *cli); void cli_nt_session_close(struct cli_state *cli); void cli_nt_netlogon_netsec_session_close(struct cli_state *cli); void cli_close_connection(struct cli_state *cli); void cli_shutdown(struct cli_state *cli); void cli_sockopt(struct cli_state *cli, const char *options); unsigned short cli_setpid(struct cli_state *cli, unsigned short pid); BOOL cli_send_keepalive(struct cli_state *cli); const char *cli_errstr(struct cli_state *cli); NTSTATUS cli_nt_error(struct cli_state *cli); void cli_dos_error(struct cli_state *cli, unsigned char *eclass, unsigned int *ecode); int cli_errno(struct cli_state *cli); BOOL cli_is_error(struct cli_state *cli); BOOL cli_is_nt_error(struct cli_state *cli); BOOL cli_is_dos_error(struct cli_state *cli); unsigned int unix_perms_to_wire(mode_t perms); BOOL cli_unix_symlink(struct cli_state *cli, const char *fname_src, const char *fname_dst); BOOL cli_unix_hardlink(struct cli_state *cli, const char *fname_src, const char *fname_dst); BOOL cli_unix_chmod(struct cli_state *cli, const char *fname, mode_t mode); BOOL cli_unix_chown(struct cli_state *cli, const char *fname, uid_t uid, gid_t gid); BOOL cli_rename(struct cli_state *cli, const char *fname_src, const char *fname_dst); BOOL cli_unlink(struct cli_state *cli, const char *fname); BOOL cli_mkdir(struct cli_state *cli, const char *dname); BOOL cli_rmdir(struct cli_state *cli, const char *dname); int cli_nt_delete_on_close(struct cli_state *cli, int fnum, BOOL flag); int cli_nt_create_full(struct cli_state *cli, const char *fname, unsigned int CreatFlags, unsigned int DesiredAccess, unsigned int FileAttributes, unsigned int ShareAccess, unsigned int CreateDisposition, unsigned int CreateOptions, unsigned char SecuityFlags); int cli_nt_create(struct cli_state *cli, const char *fname, unsigned int DesiredAccess); int cli_open(struct cli_state *cli, const char *fname, int flags, int share_mode); BOOL cli_close(struct cli_state *cli, int fnum); NTSTATUS cli_locktype(struct cli_state *cli, int fnum, unsigned int offset, unsigned int len, int timeout, unsigned char locktype); BOOL cli_lock(struct cli_state *cli, int fnum, unsigned int offset, unsigned int len, int timeout, enum brl_type lock_type); BOOL cli_unlock(struct cli_state *cli, int fnum, unsigned int offset, unsigned int len); BOOL cli_lock64(struct cli_state *cli, int fnum, unsigned long long offset, unsigned long long len, int timeout, enum brl_type lock_type); BOOL cli_unlock64(struct cli_state *cli, int fnum, unsigned long long offset, unsigned long long len); BOOL cli_getattrE(struct cli_state *cli, int fd, unsigned short *attr, unsigned long long *size, time_t *c_time, time_t *a_time, time_t *m_time); BOOL cli_getatr(struct cli_state *cli, const char *fname, unsigned short *attr, size_t *size, time_t *t); BOOL cli_setatr(struct cli_state *cli, const char *fname, unsigned short attr, time_t t); BOOL cli_chkpath(struct cli_state *cli, const char *path); BOOL cli_dskattr(struct cli_state *cli, int *bsize, int *total, int *avail); int cli_ctemp(struct cli_state *cli, const char *path, char **tmp_path); NTSTATUS cli_raw_ioctl(struct cli_state *cli, int fnum, unsigned int code, DATA_BLOB *blob); BOOL cli_get_fs_attr_info(struct cli_state *cli, unsigned int *fs_attr); DATA_BLOB cli_krb5_get_ticket(const char *principal, time_t time_offset, unsigned char session_key_krb5[16]); DATA_BLOB cli_krb5_get_ticket(const char *principal, time_t time_offset, unsigned char session_key_krb5[16]); int cli_list_new(struct cli_state *cli,const char *Mask,unsigned short attribute, void (*fn)(file_info *, const char *, void *), void *state); int cli_list_old(struct cli_state *cli,const char *Mask,unsigned short attribute, void (*fn)(file_info *, const char *, void *), void *state); int cli_list(struct cli_state *cli,const char *Mask,unsigned short attribute, void (*fn)(file_info *, const char *, void *), void *state); int cli_message_start_build(struct cli_state *cli, char *host, char *username); BOOL cli_message_start(struct cli_state *cli, char *host, char *username, int *grp); int cli_message_text_build(struct cli_state *cli, char *msg, int len, int grp); BOOL cli_message_text(struct cli_state *cli, char *msg, int len, int grp); int cli_message_end_build(struct cli_state *cli, int grp); BOOL cli_message_end(struct cli_state *cli, int grp); BOOL cli_oplock_ack(struct cli_state *cli, int fnum, unsigned char level); void cli_oplock_handler(struct cli_state *cli, BOOL (*handler)(struct cli_state *, int, unsigned char)); int cli_print_queue(struct cli_state *cli, void (*fn)(struct print_job_info *)); int cli_printjob_del(struct cli_state *cli, int job); BOOL cli_get_quota_handle(struct cli_state *cli, int *quota_fnum); void free_ntquota_list(SMB_NTQUOTA_LIST **qt_list); BOOL cli_get_user_quota(struct cli_state *cli, int quota_fnum, SMB_NTQUOTA_STRUCT *pqt); BOOL cli_set_user_quota(struct cli_state *cli, int quota_fnum, SMB_NTQUOTA_STRUCT *pqt); BOOL cli_list_user_quota(struct cli_state *cli, int quota_fnum, SMB_NTQUOTA_LIST **pqt_list); BOOL cli_get_fs_quota_info(struct cli_state *cli, int quota_fnum, SMB_NTQUOTA_STRUCT *pqt); BOOL cli_set_fs_quota_info(struct cli_state *cli, int quota_fnum, SMB_NTQUOTA_STRUCT *pqt); void dump_ntquota(SMB_NTQUOTA_STRUCT *qt, BOOL _verbose, BOOL _numeric, void (*_sidtostring)(fstring str, DOM_SID *sid, BOOL _numeric)); void dump_ntquota_list(SMB_NTQUOTA_LIST **qtl, BOOL _verbose, BOOL _numeric, void (*_sidtostring)(fstring str, DOM_SID *sid, BOOL _numeric)); BOOL cli_api_pipe(struct cli_state *cli, const char *pipe_name, unsigned short *setup, unsigned int setup_count, unsigned int max_setup_count, char *params, unsigned int param_count, unsigned int max_param_count, char *data, unsigned int data_count, unsigned int max_data_count, char **rparam, unsigned int *rparam_count, char **rdata, unsigned int *rdata_count); BOOL cli_api(struct cli_state *cli, char *param, int prcnt, int mprcnt, char *data, int drcnt, int mdrcnt, char **rparam, unsigned int *rprcnt, char **rdata, unsigned int *rdrcnt); BOOL cli_NetWkstaUserLogon(struct cli_state *cli,char *user, char *workstation); int cli_RNetShareEnum(struct cli_state *cli, void (*fn)(const char *, unsigned int, const char *, void *), void *state); BOOL cli_NetServerEnum(struct cli_state *cli, char *workgroup, unsigned int stype, void (*fn)(const char *, unsigned int, const char *, void *), void *state); BOOL cli_oem_change_password(struct cli_state *cli, const char *user, const char *new_password, const char *old_password); BOOL cli_qpathinfo(struct cli_state *cli, const char *fname, time_t *c_time, time_t *a_time, time_t *m_time, size_t *size, unsigned short *mode); BOOL cli_qpathinfo2(struct cli_state *cli, const char *fname, time_t *c_time, time_t *a_time, time_t *m_time, time_t *w_time, size_t *size, unsigned short *mode, ino_t *ino); BOOL cli_qfilename(struct cli_state *cli, int fnum, pstring name); BOOL cli_qfileinfo(struct cli_state *cli, int fnum, unsigned short *mode, size_t *size, time_t *c_time, time_t *a_time, time_t *m_time, time_t *w_time, ino_t *ino); BOOL cli_qfileinfo_test(struct cli_state *cli, int fnum, int level, char *outdata); NTSTATUS cli_qpathinfo_alt_name(struct cli_state *cli, const char *fname, fstring alt_name); int cli_NetGroupDelete(struct cli_state *cli, const char *group_name ); int cli_NetGroupAdd(struct cli_state *cli, RAP_GROUP_INFO_1 * grinfo ); int cli_RNetGroupEnum(struct cli_state *cli, void (*fn)(const char *, const char *, void *), void *state); int cli_NetGroupDelUser(struct cli_state * cli, const char *group_name, const char *user_name); int cli_NetGroupAddUser(struct cli_state * cli, const char *group_name, const char *user_name); int cli_NetGroupGetUsers(struct cli_state * cli, const char *group_name, void (*fn)(const char *, void *), void *state ); int cli_NetUserGetGroups(struct cli_state * cli, const char *user_name, void (*fn)(const char *, void *), void *state ); int cli_NetUserDelete(struct cli_state *cli, const char * user_name ); int cli_NetUserAdd(struct cli_state *cli, RAP_USER_INFO_1 * userinfo ); int cli_RNetUserEnum(struct cli_state *cli, void (*fn)(const char *, const char *, const char *, const char *, void *), void *state); int cli_NetFileClose(struct cli_state *cli, unsigned int file_id ); int cli_NetFileGetInfo(struct cli_state *cli, unsigned int file_id, void (*fn)(const char *, const char *, unsigned short, unsigned short, unsigned int)); int cli_NetFileEnum(struct cli_state *cli, char * user, char * base_path, void (*fn)(const char *, const char *, unsigned short, unsigned short, unsigned int)); int cli_NetShareAdd(struct cli_state *cli, RAP_SHARE_INFO_2 * sinfo ); int cli_NetShareDelete(struct cli_state *cli, const char * share_name ); BOOL cli_get_pdc_name(struct cli_state *cli, char *workgroup, char *pdc_name); BOOL cli_get_server_domain(struct cli_state *cli); BOOL cli_get_server_type(struct cli_state *cli, unsigned int *pstype); BOOL cli_ns_check_server_type(struct cli_state *cli, char *workgroup, unsigned int stype); BOOL cli_NetWkstaUserLogoff(struct cli_state *cli,char *user, char *workstation); int cli_NetPrintQEnum(struct cli_state *cli, void (*qfn)(const char*,unsigned short,unsigned short,unsigned short,const char*,const char*,const char*,const char*,const char*,unsigned short,unsigned short), void (*jfn)(unsigned short,const char*,const char*,const char*,const char*,unsigned short,unsigned short,const char*,uint,uint,const char*)); int cli_NetPrintQGetInfo(struct cli_state *cli, const char *printer, void (*qfn)(const char*,unsigned short,unsigned short,unsigned short,const char*,const char*,const char*,const char*,const char*,unsigned short,unsigned short), void (*jfn)(unsigned short,const char*,const char*,const char*,const char*,unsigned short,unsigned short,const char*,uint,uint,const char*)); int cli_RNetServiceEnum(struct cli_state *cli, void (*fn)(const char *, const char *, void *), void *state); int cli_NetSessionEnum(struct cli_state *cli, void (*fn)(char *, char *, unsigned short, unsigned short, unsigned short, uint, uint, uint, char *)); int cli_NetSessionGetInfo(struct cli_state *cli, const char *workstation, void (*fn)(const char *, const char *, unsigned short, unsigned short, unsigned short, uint, uint, uint, const char *)); int cli_NetSessionDel(struct cli_state *cli, const char *workstation); int cli_NetConnectionEnum(struct cli_state *cli, const char *qualifier, void (*fn)(unsigned short conid, unsigned short contype, unsigned short numopens, unsigned short numusers, unsigned int contime, const char *username, const char *netname)); ssize_t cli_read(struct cli_state *cli, int fnum, char *buf, off_t offset, size_t size); ssize_t cli_readraw(struct cli_state *cli, int fnum, char *buf, off_t offset, size_t size); ssize_t cli_write(struct cli_state *cli, int fnum, unsigned short write_mode, const char *buf, off_t offset, size_t size); ssize_t cli_smbwrite(struct cli_state *cli, int fnum, char *buf, off_t offset, size_t size1); SEC_DESC *cli_query_secdesc(struct cli_state *cli, int fnum, TALLOC_CTX *mem_ctx); BOOL cli_set_secdesc(struct cli_state *cli, int fnum, SEC_DESC *sd); DATA_BLOB spnego_gen_negTokenInit(unsigned char guid[16], const char *OIDs[], const char *principal); DATA_BLOB gen_negTokenInit(const char *OID, DATA_BLOB blob); BOOL spnego_parse_negTokenInit(DATA_BLOB blob, char *OIDs[20], char **principal); DATA_BLOB gen_negTokenTarg(const char *OIDs[], DATA_BLOB blob); BOOL parse_negTokenTarg(DATA_BLOB blob, char *OIDs[20], DATA_BLOB *secblob); DATA_BLOB spnego_gen_krb5_wrap(DATA_BLOB ticket, const unsigned char tok_id[2]); BOOL spnego_parse_krb5_wrap(DATA_BLOB blob, DATA_BLOB *ticket, unsigned char tok_id[2]); DATA_BLOB spnego_gen_negTokenTarg(const char *principal, int time_offset, unsigned char session_key_krb5[16]); BOOL spnego_parse_challenge(const DATA_BLOB blob, DATA_BLOB *chal1, DATA_BLOB *chal2); DATA_BLOB spnego_gen_auth(DATA_BLOB blob); BOOL spnego_parse_auth(DATA_BLOB blob, DATA_BLOB *auth); DATA_BLOB spnego_gen_auth_response(DATA_BLOB *reply, NTSTATUS nt_status, const char *mechOID); BOOL spnego_parse_auth_response(DATA_BLOB blob, NTSTATUS nt_status, DATA_BLOB *auth); size_t clistr_push_fn(const char *function, unsigned int line, struct cli_state *cli, void *dest, const char *src, int dest_len, int flags); size_t clistr_pull_fn(const char *function, unsigned int line, struct cli_state *cli, char *dest, const void *src, int dest_len, int src_len, int flags); size_t clistr_align_out(struct cli_state *cli, const void *p, int flags); size_t clistr_align_in(struct cli_state *cli, const void *p, int flags); BOOL cli_send_trans(struct cli_state *cli, int trans, const char *pipe_name, int fid, int flags, unsigned short *setup, unsigned int lsetup, unsigned int msetup, const char *param, unsigned int lparam, unsigned int mparam, const char *data, unsigned int ldata, unsigned int mdata); BOOL cli_receive_trans(struct cli_state *cli,int trans, char **param, unsigned int *param_len, char **data, unsigned int *data_len); BOOL cli_send_nt_trans(struct cli_state *cli, int function, int flags, unsigned short *setup, unsigned int lsetup, unsigned int msetup, char *param, unsigned int lparam, unsigned int mparam, char *data, unsigned int ldata, unsigned int mdata); BOOL cli_receive_nt_trans(struct cli_state *cli, char **param, unsigned int *param_len, char **data, unsigned int *data_len); NTSTATUS check_negative_conn_cache( const char *domain, const char *server ); void add_failed_connection_entry(const char *domain, const char *server, NTSTATUS result) ; void flush_negative_conn_cache( void ); char *credstr(const unsigned char *cred); void cred_session_key(const DOM_CHAL *clnt_chal, const DOM_CHAL *srv_chal, const unsigned char *pass, unsigned char session_key[8]); void cred_create(unsigned char session_key[8], DOM_CHAL *stor_cred, UTIME timestamp, DOM_CHAL *cred); int cred_assert(DOM_CHAL *cred, unsigned char session_key[8], DOM_CHAL *stored_cred, UTIME timestamp); BOOL clnt_deal_with_creds(unsigned char sess_key[8], DOM_CRED *sto_clnt_cred, DOM_CRED *rcv_srv_cred); BOOL deal_with_creds(unsigned char sess_key[8], DOM_CRED *sto_clnt_cred, DOM_CRED *rcv_clnt_cred, DOM_CRED *rtn_srv_cred); const char *dos_errstr(WERROR werror); NTSTATUS dos_to_ntstatus(unsigned char eclass, unsigned int ecode); void ntstatus_to_dos(NTSTATUS ntstatus, unsigned char *eclass, unsigned int *ecode); NTSTATUS werror_to_ntstatus(WERROR error); WERROR ntstatus_to_werror(NTSTATUS error); NTSTATUS map_nt_error_from_unix(int unix_error); BOOL namecache_enable(void); BOOL namecache_shutdown(void); BOOL namecache_store(const char *name, int name_type, int num_names, struct ip_service *ip_list); BOOL namecache_fetch(const char *name, int name_type, struct ip_service **ip_list, int *num_names); void namecache_flush(void); BOOL namecache_status_store(const char *keyname, int keyname_type, int name_type, struct in_addr keyip, const char *srvname); BOOL namecache_status_fetch(const char *keyname, int keyname_type, int name_type, struct in_addr keyip, char *srvname_out); struct node_status *node_status_query(int fd,struct nmb_name *name, struct in_addr to_ip, int *num_names); BOOL name_status_find(const char *q_name, int q_type, int type, struct in_addr to_ip, char *name); int ip_compare(struct in_addr *ip1, struct in_addr *ip2); void sort_ip_list2(struct ip_service *iplist, int count); struct in_addr *name_query(int fd,const char *name,int name_type, BOOL bcast,BOOL recurse, struct in_addr to_ip, int *count, int *flags, BOOL *timed_out); XFILE *startlmhosts(char *fname); BOOL getlmhostsent( XFILE *fp, pstring name, int *name_type, struct in_addr *ipaddr); void endlmhosts(XFILE *fp); BOOL name_resolve_bcast(const char *name, int name_type, struct ip_service **return_iplist, int *return_count); BOOL resolve_wins(const char *name, int name_type, struct ip_service **return_iplist, int *return_count); BOOL resolve_name(const char *name, struct in_addr *return_ip, int name_type); BOOL find_master_ip(const char *group, struct in_addr *master_ip); BOOL get_pdc_ip(const char *domain, struct in_addr *ip); BOOL get_sorted_dc_list( const char *domain, struct ip_service **ip_list, int *count, BOOL dns_only ); BOOL get_dc_list(const char *domain, struct ip_service **ip_list, int *count, BOOL dns_only, int *ordered); BOOL get_dc_name(const char *domain, fstring srv_name, struct in_addr *ip_out); void debug_nmb_packet(struct packet_struct *p); char *nmb_namestr(struct nmb_name *n); struct packet_struct *copy_packet(struct packet_struct *packet); void free_packet(struct packet_struct *packet); struct packet_struct *parse_packet(char *buf,int length, enum packet_type packet_type); struct packet_struct *read_packet(int fd,enum packet_type packet_type); void make_nmb_name( struct nmb_name *n, const char *name, int type); BOOL nmb_name_equal(struct nmb_name *n1, struct nmb_name *n2); int build_packet(char *buf, struct packet_struct *p); BOOL send_packet(struct packet_struct *p); struct packet_struct *receive_packet(int fd,enum packet_type type,int t); struct packet_struct *receive_nmb_packet(int fd, int t, int trn_id); struct packet_struct *receive_dgram_packet(int fd, int t, const char *mailslot_name); BOOL match_mailslot_name(struct packet_struct *p, const char *mailslot_name); int matching_quad_bits(unsigned char *p1, unsigned char *p2); void sort_query_replies(char *data, int n, struct in_addr ip); char *dns_to_netbios_name(char *dns_name); int name_mangle( char *In, char *Out, char name_type ); int name_extract(char *buf,int ofs, fstring name); int name_len(char *s1); const char *nt_errstr(NTSTATUS nt_code); const char *get_friendly_nt_error_msg(NTSTATUS nt_code); const char *get_nt_error_c_code(NTSTATUS nt_code); NTSTATUS nt_status_string_to_code(char *nt_status_str); void debug_ntlmssp_flags(unsigned int neg_flags); NTSTATUS ntlmssp_server_start(NTLMSSP_STATE **ntlmssp_state); NTSTATUS ntlmssp_server_end(NTLMSSP_STATE **ntlmssp_state); NTSTATUS ntlmssp_server_update(NTLMSSP_STATE *ntlmssp_state, const DATA_BLOB request, DATA_BLOB *reply) ; NTSTATUS ntlmssp_client_start(NTLMSSP_CLIENT_STATE **ntlmssp_state); NTSTATUS ntlmssp_client_end(NTLMSSP_CLIENT_STATE **ntlmssp_state); NTSTATUS ntlmssp_client_update(NTLMSSP_CLIENT_STATE *ntlmssp_state, DATA_BLOB reply, DATA_BLOB *next_request) ; NTSTATUS ntlmssp_set_username(NTLMSSP_CLIENT_STATE *ntlmssp_state, const char *user) ; NTSTATUS ntlmssp_set_password(NTLMSSP_CLIENT_STATE *ntlmssp_state, const char *password) ; NTSTATUS ntlmssp_set_domain(NTLMSSP_CLIENT_STATE *ntlmssp_state, const char *domain) ; NTSTATUS ntlmssp_client_store_response(NTLMSSP_CLIENT_STATE *ntlmssp_state, DATA_BLOB response) ; BOOL msrpc_gen(DATA_BLOB *blob, const char *format, ...); BOOL msrpc_parse(const DATA_BLOB *blob, const char *format, ...); NTSTATUS ntlmssp_client_sign_packet(NTLMSSP_CLIENT_STATE *ntlmssp_state, const unsigned char *data, size_t length, DATA_BLOB *sig) ; NTSTATUS ntlmssp_client_check_packet(NTLMSSP_CLIENT_STATE *ntlmssp_state, const unsigned char *data, size_t length, const DATA_BLOB *sig) ; NTSTATUS ntlmssp_client_seal_packet(NTLMSSP_CLIENT_STATE *ntlmssp_state, unsigned char *data, size_t length, DATA_BLOB *sig); NTSTATUS ntlmssp_client_unseal_packet(NTLMSSP_CLIENT_STATE *ntlmssp_state, unsigned char *data, size_t length, DATA_BLOB *sig); NTSTATUS ntlmssp_client_sign_init(NTLMSSP_CLIENT_STATE *ntlmssp_state); BOOL remote_password_change(const char *remote_machine, const char *user_name, const char *old_passwd, const char *new_passwd, char *err_str, size_t err_str_len); void pwd_set_cleartext(struct pwd_info *pwd, const char *clr); void pwd_get_cleartext(struct pwd_info *pwd, fstring clr); void pwd_get_lm_nt_16(struct pwd_info *pwd, unsigned char lm_pwd[16], unsigned char nt_pwd[16]); void pwd_make_lm_nt_owf(struct pwd_info *pwd, unsigned char cryptkey[8]); void pwd_get_lm_nt_owf(struct pwd_info *pwd, unsigned char lm_owf[24], unsigned char nt_owf[24]); BOOL netsamlogon_cache_init(void); BOOL netsamlogon_cache_shutdown(void); void netsamlogon_clear_cached_user(TDB_CONTEXT *tdb, NET_USER_INFO_3 *user); BOOL netsamlogon_cache_store(TALLOC_CTX *mem_ctx, NET_USER_INFO_3 *user); NET_USER_INFO_3* netsamlogon_cache_get( TALLOC_CTX *mem_ctx, DOM_SID *user_sid); BOOL netsamlogon_cache_have(DOM_SID *user_sid); BOOL cli_simple_set_signing(struct cli_state *cli, const unsigned char user_session_key[16], const DATA_BLOB response); void cli_signing_trans_start(struct cli_state *cli); void cli_signing_trans_stop(struct cli_state *cli); BOOL cli_null_set_signing(struct cli_state *cli); BOOL cli_temp_set_signing(struct cli_state *cli); void cli_free_signing_context(struct cli_state *cli); void cli_calculate_sign_mac(struct cli_state *cli); BOOL cli_check_sign_mac(struct cli_state *cli) ; BOOL srv_oplock_set_signing(BOOL onoff); BOOL srv_check_sign_mac(char *inbuf); void srv_calculate_sign_mac(char *outbuf); void srv_defer_sign_response(unsigned short mid, BOOL deferred_packet); void srv_cancel_sign_response(unsigned short mid); void srv_set_signing_negotiated(void); BOOL srv_is_signing_active(void); void srv_signing_trans_start(unsigned short mid); void srv_signing_trans_stop(void); void srv_set_signing(const unsigned char user_session_key[16], const DATA_BLOB response); void E_P16(const unsigned char *p14,unsigned char *p16); void E_P24(const unsigned char *p21, const unsigned char *c8, unsigned char *p24); void D_P16(const unsigned char *p14, const unsigned char *in, unsigned char *out); void E_old_pw_hash( unsigned char *p14, const unsigned char *in, unsigned char *out); void cred_hash1(unsigned char *out, const unsigned char *in, const unsigned char *key); void cred_hash2(unsigned char *out, const unsigned char *in, const unsigned char *key); void cred_hash3(unsigned char *out, unsigned char *in, const unsigned char *key, int forw); void SamOEMhash( unsigned char *data, const unsigned char *key, int val); void sam_pwd_hash(unsigned int rid, const unsigned char *in, unsigned char *out, int forw); void SMBencrypt(const char *passwd, const unsigned char *c8, unsigned char p24[24]); void E_md4hash(const char *passwd, unsigned char p16[16]); void E_deshash(const char *passwd, unsigned char p16[16]); void nt_lm_owf_gen(const char *pwd, unsigned char nt_p16[16], unsigned char p16[16]); BOOL ntv2_owf_gen(const unsigned char owf[16], const char *user_in, const char *domain_in, unsigned char kr_buf[16]); void SMBOWFencrypt(const unsigned char passwd[16], const unsigned char *c8, unsigned char p24[24]); void NTLMSSPOWFencrypt(const unsigned char passwd[8], const unsigned char *ntlmchalresp, unsigned char p24[24]); void SMBNTencrypt(const char *passwd, unsigned char *c8, unsigned char *p24); BOOL make_oem_passwd_hash(char data[516], const char *passwd, unsigned char old_pw_hash[16], BOOL unicode); void SMBOWFencrypt_ntv2(const unsigned char kr[16], const DATA_BLOB *srv_chal, const DATA_BLOB *cli_chal, unsigned char resp_buf[16]); void SMBsesskeygen_ntv2(const unsigned char kr[16], const unsigned char * nt_resp, unsigned char sess_key[16]); void SMBsesskeygen_ntv1(const unsigned char kr[16], const unsigned char * nt_resp, unsigned char sess_key[16]); void SMBsesskeygen_lmv1(const unsigned char lm_hash[16], const unsigned char lm_resp[24], unsigned char sess_key[16]); DATA_BLOB NTLMv2_generate_names_blob(const char *hostname, const char *domain); BOOL SMBNTLMv2encrypt(const char *user, const char *domain, const char *password, const DATA_BLOB *server_chal, const DATA_BLOB *names_blob, DATA_BLOB *lm_response, DATA_BLOB *nt_response, DATA_BLOB *nt_session_key) ; BOOL encode_pw_buffer(char buffer[516], char *new_pw, int new_pw_length); BOOL decode_pw_buffer(char in_buffer[516], char *new_pwrd, int new_pwrd_size, unsigned int *new_pw_len); const char *smb_dos_err_name(unsigned char class, unsigned short num); const char *get_dos_error_msg(WERROR result); const char *smb_dos_err_class(unsigned char class); char *smb_dos_errstr(char *inbuf); WERROR map_werror_from_unix(int error); ssize_t read_spnego_data(DATA_BLOB data, SPNEGO_DATA *token); ssize_t write_spnego_data(DATA_BLOB *blob, SPNEGO_DATA *spnego); BOOL free_spnego_data(SPNEGO_DATA *spnego); BOOL trustdom_cache_enable(void); BOOL trustdom_cache_shutdown(void); BOOL trustdom_cache_store(char* name, char* alt_name, const DOM_SID *sid, time_t timeout); BOOL trustdom_cache_fetch(const char* name, DOM_SID* sid); unsigned int trustdom_cache_fetch_timestamp( void ); BOOL trustdom_cache_store_timestamp( unsigned int t, time_t timeout ); BOOL trustdom_cache_lock_timestamp( void ); void trustdom_cache_unlock_timestamp( void ); void trustdom_cache_flush(void); void update_trustdom_cache( void ); NTSTATUS trust_pw_change_and_store_it(struct cli_state *cli, TALLOC_CTX *mem_ctx, const char *domain, unsigned char orig_trust_passwd_hash[16], unsigned int sec_channel_type); NTSTATUS trust_pw_find_change_and_store_it(struct cli_state *cli, TALLOC_CTX *mem_ctx, const char *domain) ; BOOL enumerate_domain_trusts( TALLOC_CTX *mem_ctx, const char *domain, char ***domain_names, unsigned int *num_domains, DOM_SID **sids ); void unexpected_packet(struct packet_struct *p); void clear_unexpected(time_t t); struct packet_struct *receive_unexpected(enum packet_type packet_type, int id, const char *mailslot_name); void brl_init(int read_only); void brl_shutdown(int read_only); NTSTATUS brl_lock(dev_t dev, ino_t ino, int fnum, unsigned short smbpid, pid_t pid, unsigned short tid, unsigned long long start, unsigned long long size, enum brl_type lock_type); BOOL brl_unlock(dev_t dev, ino_t ino, int fnum, unsigned short smbpid, pid_t pid, unsigned short tid, unsigned long long start, unsigned long long size, BOOL remove_pending_locks_only, void (*pre_unlock_fn)(void *), void *pre_unlock_data); BOOL brl_locktest(dev_t dev, ino_t ino, int fnum, unsigned short smbpid, pid_t pid, unsigned short tid, unsigned long long start, unsigned long long size, enum brl_type lock_type, int check_self); void brl_close(dev_t dev, ino_t ino, pid_t pid, int tid, int fnum); int brl_forall(void (*fn)(dev_t dev, ino_t ino, int pid, enum brl_type lock_type, unsigned long long start, unsigned long long size)); BOOL is_locked(files_struct *fsp,connection_struct *conn, unsigned long long count,unsigned long long offset, enum brl_type lock_type, BOOL check_self); NTSTATUS do_lock_spin(files_struct *fsp,connection_struct *conn, unsigned short lock_pid, unsigned long long count,unsigned long long offset,enum brl_type lock_type); NTSTATUS do_unlock(files_struct *fsp,connection_struct *conn, unsigned short lock_pid, unsigned long long count,unsigned long long offset); void locking_close_file(files_struct *fsp); BOOL locking_init(int read_only); BOOL locking_end(void); BOOL lock_share_entry(connection_struct *conn, dev_t dev, ino_t inode); void unlock_share_entry(connection_struct *conn, dev_t dev, ino_t inode); BOOL lock_share_entry_fsp(files_struct *fsp); void unlock_share_entry_fsp(files_struct *fsp); char *share_mode_str(int num, share_mode_entry *e); int get_share_modes(connection_struct *conn, dev_t dev, ino_t inode, share_mode_entry **pp_shares); BOOL share_modes_identical( share_mode_entry *e1, share_mode_entry *e2); ssize_t del_share_entry( dev_t dev, ino_t inode, share_mode_entry *entry, share_mode_entry **ppse); ssize_t del_share_mode(files_struct *fsp, share_mode_entry **ppse); BOOL set_share_mode(files_struct *fsp, unsigned short port, unsigned short op_type); BOOL remove_share_oplock(files_struct *fsp); BOOL downgrade_share_oplock(files_struct *fsp); BOOL modify_delete_flag( dev_t dev, ino_t inode, BOOL delete_on_close); int share_mode_forall(void (*fn)(share_mode_entry *, char*)); int fd_close_posix(struct connection_struct *conn, files_struct *fsp); BOOL is_posix_locked(files_struct *fsp, unsigned long long u_offset, unsigned long long u_count, enum brl_type lock_type); BOOL set_posix_lock(files_struct *fsp, unsigned long long u_offset, unsigned long long u_count, enum brl_type lock_type); BOOL release_posix_lock(files_struct *fsp, unsigned long long u_offset, unsigned long long u_count); void posix_locking_close_file(files_struct *fsp); BOOL posix_locking_init(int read_only); BOOL posix_locking_end(void); BOOL is_msdfs_link(connection_struct* conn, char* path, struct referral** reflistp, int* refcnt, struct stat *sbufp); BOOL dfs_redirect(char* pathname, connection_struct* conn, BOOL findfirst_flag); BOOL get_referred_path(char *pathname, struct junction_map* jn, int* consumedcntp, BOOL* self_referralp); int setup_dfs_referral(char* pathname, int max_referral_level, char** ppdata); BOOL create_junction(char* pathname, struct junction_map* jn); BOOL create_msdfs_link(struct junction_map* jn, BOOL exists); BOOL remove_msdfs_link(struct junction_map* jn); int enum_msdfs_links(struct junction_map* jn); int asyncdns_fd(void); void kill_async_dns_child(void); void start_async_dns(void); void run_dns_queue(void); BOOL queue_dns_query(struct packet_struct *p,struct nmb_name *question, struct name_record **n); BOOL queue_dns_query(struct packet_struct *p,struct nmb_name *question, struct name_record **n); void kill_async_dns_child(void); void add_domain_names(time_t t); void insert_permanent_name_into_unicast( struct subnet_record *subrec, struct nmb_name *nmbname, unsigned short nb_type ); void unbecome_local_master_browser(struct subnet_record *subrec, struct work_record *work, BOOL force_new_election); void become_local_master_browser(struct subnet_record *subrec, struct work_record *work); void set_workgroup_local_master_browser_name( struct work_record *work, const char *newname); void update_browser_death_time( struct browse_cache_record *browc ); struct browse_cache_record *create_browser_in_lmb_cache( const char *work_name, const char *browser_name, struct in_addr ip ); struct browse_cache_record *find_browser_in_lmb_cache( const char *browser_name ); void expire_lmb_browsers( time_t t ); void dmb_expire_and_sync_browser_lists(time_t t); void announce_and_sync_with_domain_master_browser( struct subnet_record *subrec, struct work_record *work); void collect_all_workgroup_names_from_wins_server(time_t t); void sync_all_dmbs(time_t t); void check_master_browser_exists(time_t t); void run_elections(time_t t); void process_election(struct subnet_record *subrec, struct packet_struct *p, char *buf); BOOL check_elections(void); void nmbd_message_election(int msg_type, pid_t src, void *buf, size_t len); void tell_become_backup(void); void process_host_announce(struct subnet_record *subrec, struct packet_struct *p, char *buf); void process_workgroup_announce(struct subnet_record *subrec, struct packet_struct *p, char *buf); void process_local_master_announce(struct subnet_record *subrec, struct packet_struct *p, char *buf); void process_master_browser_announce(struct subnet_record *subrec, struct packet_struct *p,char *buf); void process_lm_host_announce(struct subnet_record *subrec, struct packet_struct *p, char *buf); void process_get_backup_list_request(struct subnet_record *subrec, struct packet_struct *p,char *buf); void process_reset_browser(struct subnet_record *subrec, struct packet_struct *p,char *buf); void process_announce_request(struct subnet_record *subrec, struct packet_struct *p, char *buf); void process_lm_announce_request(struct subnet_record *subrec, struct packet_struct *p, char *buf); void process_name_release_request(struct subnet_record *subrec, struct packet_struct *p); void process_name_refresh_request(struct subnet_record *subrec, struct packet_struct *p); void process_name_registration_request(struct subnet_record *subrec, struct packet_struct *p); void process_node_status_request(struct subnet_record *subrec, struct packet_struct *p); void process_name_query_request(struct subnet_record *subrec, struct packet_struct *p); void load_lmhosts_file(char *fname); BOOL find_name_in_lmhosts(struct nmb_name *nmbname, struct name_record **namerecp); void add_logon_names(void); void register_my_workgroup_one_subnet(struct subnet_record *subrec); BOOL register_my_workgroup_and_names(void); void release_wins_names(void); void refresh_my_names(time_t t); void set_samba_nb_type(void); void remove_name_from_namelist( struct subnet_record *subrec, struct name_record *namerec ); struct name_record *find_name_on_subnet( struct subnet_record *subrec, struct nmb_name *nmbname, BOOL self_only ); struct name_record *find_name_for_remote_broadcast_subnet( struct nmb_name *nmbname, BOOL self_only ); void update_name_ttl( struct name_record *namerec, int ttl ); struct name_record *add_name_to_subnet( struct subnet_record *subrec, const char *name, int type, unsigned short nb_flags, int ttl, enum name_source source, int num_ips, struct in_addr *iplist); void standard_success_register(struct subnet_record *subrec, struct userdata_struct *userdata, struct nmb_name *nmbname, unsigned short nb_flags, int ttl, struct in_addr registered_ip); void standard_fail_register( struct subnet_record *subrec, struct response_record *rrec, struct nmb_name *nmbname ); BOOL find_ip_in_name_record( struct name_record *namerec, struct in_addr ip ); void add_ip_to_name_record( struct name_record *namerec, struct in_addr new_ip ); void remove_ip_from_name_record( struct name_record *namerec, struct in_addr remove_ip ); void standard_success_release( struct subnet_record *subrec, struct userdata_struct *userdata, struct nmb_name *nmbname, struct in_addr released_ip ); void expire_names_on_subnet(struct subnet_record *subrec, time_t t); void expire_names(time_t t); void add_samba_names_to_subnet( struct subnet_record *subrec ); void dump_all_namelists(void); BOOL query_name(struct subnet_record *subrec, const char *name, int type, query_name_success_function success_fn, query_name_fail_function fail_fn, struct userdata_struct *userdata); BOOL query_name_from_wins_server(struct in_addr ip_to, const char *name, int type, query_name_success_function success_fn, query_name_fail_function fail_fn, struct userdata_struct *userdata); void register_name(struct subnet_record *subrec, const char *name, int type, unsigned short nb_flags, register_name_success_function success_fn, register_name_fail_function fail_fn, struct userdata_struct *userdata); void wins_refresh_name(struct name_record *namerec); void release_name(struct subnet_record *subrec, struct name_record *namerec, release_name_success_function success_fn, release_name_fail_function fail_fn, struct userdata_struct *userdata); BOOL node_status(struct subnet_record *subrec, struct nmb_name *nmbname, struct in_addr send_ip, node_status_success_function success_fn, node_status_fail_function fail_fn, struct userdata_struct *userdata); unsigned short get_nb_flags(char *buf); void set_nb_flags(char *buf, unsigned short nb_flags); struct response_record *queue_register_name( struct subnet_record *subrec, response_function resp_fn, timeout_response_function timeout_fn, register_name_success_function success_fn, register_name_fail_function fail_fn, struct userdata_struct *userdata, struct nmb_name *nmbname, unsigned short nb_flags); void queue_wins_refresh(struct nmb_name *nmbname, response_function resp_fn, timeout_response_function timeout_fn, unsigned short nb_flags, struct in_addr refresh_ip, const char *tag); struct response_record *queue_register_multihomed_name( struct subnet_record *subrec, response_function resp_fn, timeout_response_function timeout_fn, register_name_success_function success_fn, register_name_fail_function fail_fn, struct userdata_struct *userdata, struct nmb_name *nmbname, unsigned short nb_flags, struct in_addr register_ip, struct in_addr wins_ip); struct response_record *queue_release_name( struct subnet_record *subrec, response_function resp_fn, timeout_response_function timeout_fn, release_name_success_function success_fn, release_name_fail_function fail_fn, struct userdata_struct *userdata, struct nmb_name *nmbname, unsigned short nb_flags, struct in_addr release_ip, struct in_addr dest_ip); struct response_record *queue_query_name( struct subnet_record *subrec, response_function resp_fn, timeout_response_function timeout_fn, query_name_success_function success_fn, query_name_fail_function fail_fn, struct userdata_struct *userdata, struct nmb_name *nmbname); struct response_record *queue_query_name_from_wins_server( struct in_addr to_ip, response_function resp_fn, timeout_response_function timeout_fn, query_name_success_function success_fn, query_name_fail_function fail_fn, struct userdata_struct *userdata, struct nmb_name *nmbname); struct response_record *queue_node_status( struct subnet_record *subrec, response_function resp_fn, timeout_response_function timeout_fn, node_status_success_function success_fn, node_status_fail_function fail_fn, struct userdata_struct *userdata, struct nmb_name *nmbname, struct in_addr send_ip); void reply_netbios_packet(struct packet_struct *orig_packet, int rcode, enum netbios_reply_type_code rcv_code, int opcode, int ttl, char *data,int len); void run_packet_queue(void); void retransmit_or_expire_response_records(time_t t); BOOL listen_for_packets(BOOL run_election); BOOL send_mailslot(BOOL unique, const char *mailslot,char *buf, size_t len, const char *srcname, int src_type, const char *dstname, int dest_type, struct in_addr dest_ip,struct in_addr src_ip, int dest_port); void process_logon_packet(struct packet_struct *p, char *buf,int len, const char *mailslot); void remove_response_record(struct subnet_record *subrec, struct response_record *rrec); struct response_record *make_response_record( struct subnet_record *subrec, struct packet_struct *p, response_function resp_fn, timeout_response_function timeout_fn, success_function success_fn, fail_function fail_fn, struct userdata_struct *userdata); struct response_record *find_response_record(struct subnet_record **ppsubrec, unsigned short id); BOOL is_refresh_already_queued(struct subnet_record *subrec, struct name_record *namerec); void send_browser_reset(int reset_type, const char *to_name, int to_type, struct in_addr to_ip); void broadcast_announce_request(struct subnet_record *subrec, struct work_record *work); void announce_my_server_names(time_t t); void announce_my_lm_server_names(time_t t); void reset_announce_timer(void); void announce_myself_to_domain_master_browser(time_t t); void announce_my_servers_removed(void); void announce_remote(time_t t); void browse_sync_remote(time_t t); void remove_all_servers(struct work_record *work); struct server_record *find_server_in_workgroup(struct work_record *work, const char *name); void remove_server_from_workgroup(struct work_record *work, struct server_record *servrec); struct server_record *create_server_on_workgroup(struct work_record *work, const char *name,int servertype, int ttl, const char *comment); void update_server_ttl(struct server_record *servrec, int ttl); void expire_servers(struct work_record *work, time_t t); void write_browse_list_entry(XFILE *fp, const char *name, unsigned int rec_type, const char *local_master_browser_name, const char *description); void write_browse_list(time_t t, BOOL force_write); void close_subnet(struct subnet_record *subrec); struct subnet_record *make_normal_subnet(struct interface *iface); BOOL create_subnets(void); BOOL we_are_a_wins_client(void); struct subnet_record *get_next_subnet_maybe_unicast(struct subnet_record *subrec); struct subnet_record *get_next_subnet_maybe_unicast_or_wins_server(struct subnet_record *subrec); void sync_browse_lists(struct work_record *work, char *name, int nm_type, struct in_addr ip, BOOL local, BOOL servers); void sync_check_completion(void); void make_wins_proxy_name_query_request( struct subnet_record *subrec, struct packet_struct *incoming_packet, struct nmb_name *question_name); BOOL packet_is_for_wins_server(struct packet_struct *packet); BOOL initialise_wins(void); void wins_process_name_refresh_request(struct subnet_record *subrec, struct packet_struct *p); void wins_process_name_registration_request(struct subnet_record *subrec, struct packet_struct *p); void wins_process_multihomed_name_registration_request( struct subnet_record *subrec, struct packet_struct *p); void send_wins_name_query_response(int rcode, struct packet_struct *p, struct name_record *namerec); void wins_process_name_query_request(struct subnet_record *subrec, struct packet_struct *p); void wins_process_name_release_request(struct subnet_record *subrec, struct packet_struct *p); void initiate_wins_processing(time_t t); void wins_write_database(BOOL background); void nmbd_wins_new_entry(int msg_type, pid_t src, void *buf, size_t len); struct work_record *find_workgroup_on_subnet(struct subnet_record *subrec, const char *name); struct work_record *create_workgroup_on_subnet(struct subnet_record *subrec, const char *name, int ttl); void update_workgroup_ttl(struct work_record *work, int ttl); void initiate_myworkgroup_startup(struct subnet_record *subrec, struct work_record *work); void dump_workgroups(BOOL force_write); void expire_workgroups_and_servers(time_t t); BOOL winbind_lookup_name(const char *dom_name, const char *name, DOM_SID *sid, enum SID_NAME_USE *name_type); BOOL winbind_lookup_sid(const DOM_SID *sid, fstring dom_name, fstring name, enum SID_NAME_USE *name_type); BOOL winbind_sid_to_uid(uid_t *puid, const DOM_SID *sid); BOOL winbind_uid_to_sid(DOM_SID *sid, uid_t uid); BOOL winbind_sid_to_gid(gid_t *pgid, const DOM_SID *sid); BOOL winbind_gid_to_sid(DOM_SID *sid, gid_t gid); int winbind_initgroups(char *user, gid_t gid); int winbind_getgroups(const char *user, gid_t **list); BOOL winbind_ping( void ); BOOL winbind_create_user( const char *name, unsigned int *rid ); BOOL winbind_create_group( const char *name, unsigned int *rid ); BOOL winbind_add_user_to_group( const char *user, const char *group ); BOOL winbind_remove_user_from_group( const char *user, const char *group ); BOOL winbind_set_user_primary_group( const char *user, const char *group ); BOOL winbind_delete_user( const char *user ); BOOL winbind_delete_group( const char *group ); BOOL winbind_sid_to_uid_query(uid_t *puid, const DOM_SID *sid); BOOL winbind_sid_to_gid_query(gid_t *pgid, const DOM_SID *sid); void free_response(struct winbindd_response *response); void init_request(struct winbindd_request *request, int request_type); void init_response(struct winbindd_response *response); void close_sock(void); int winbind_open_pipe_sock(void); int write_sock(void *buffer, int count); int read_reply(struct winbindd_response *response); BOOL winbind_off( void ); BOOL winbind_on( void ); void lp_talloc_free(void); char *lp_smb_ports(void); char *lp_dos_charset(void); char *lp_unix_charset(void); char *lp_display_charset(void); char *lp_logfile(void); char *lp_configfile(void); char *lp_smb_passwd_file(void); char *lp_private_dir(void); char *lp_serverstring(void); char *lp_printcapname(void); char *lp_enumports_cmd(void); char *lp_addprinter_cmd(void); char *lp_deleteprinter_cmd(void); char *lp_os2_driver_map(void); char *lp_lockdir(void); char *lp_piddir(void); char *lp_mangling_method(void); int lp_mangle_prefix(void); char *lp_utmpdir(void); char *lp_wtmpdir(void); BOOL lp_utmp(void); char *lp_rootdir(void); char *lp_source_environment(void); char *lp_defaultservice(void); char *lp_msg_command(void); char *lp_dfree_command(void); char *lp_get_quota_command(void); char *lp_set_quota_command(void); char *lp_hosts_equiv(void); char *lp_auto_services(void); char *lp_passwd_program(void); char *lp_passwd_chat(void); char *lp_passwordserver(void); char *lp_name_resolve_order(void); char *lp_realm(void); char *lp_afs_username_map(void); char *lp_username_map(void); const char *lp_logon_script(void); const char *lp_logon_path(void); const char *lp_logon_drive(void); const char *lp_logon_home(void); char *lp_remote_announce(void); char *lp_remote_browse_sync(void); const char **lp_wins_server_list(void); const char **lp_interfaces(void); char *lp_socket_address(void); char *lp_nis_home_map_name(void); const char **lp_netbios_aliases(void); const char **lp_passdb_backend(void); const char **lp_preload_modules(void); char *lp_panic_action(void); char *lp_adduser_script(void); char *lp_deluser_script(void); const char *lp_guestaccount(void); char *lp_addgroup_script(void); char *lp_delgroup_script(void); char *lp_addusertogroup_script(void); char *lp_deluserfromgroup_script(void); char *lp_setprimarygroup_script(void); char *lp_addmachine_script(void); char *lp_shutdown_script(void); char *lp_abort_shutdown_script(void); char *lp_wins_hook(void); char *lp_wins_partners(void); char *lp_template_primary_group(void); char *lp_template_homedir(void); char *lp_template_shell(void); const char *lp_winbind_separator(void); char *lp_acl_compatibility(void); BOOL lp_winbind_enable_local_accounts(void); BOOL lp_winbind_enum_users(void); BOOL lp_winbind_enum_groups(void); BOOL lp_winbind_use_default_domain(void); BOOL lp_winbind_trusted_domains_only(void); char *lp_idmap_backend(void); BOOL lp_enable_rid_algorithm(void); char *lp_ldap_server(void); int lp_ldap_port(void); char *lp_ldap_suffix(void); char *lp_ldap_machine_suffix(void); char *lp_ldap_user_suffix(void); char *lp_ldap_idmap_suffix(void); char *lp_ldap_group_suffix(void); char *lp_ldap_filter(void); char *lp_ldap_admin_dn(void); int lp_ldap_ssl(void); int lp_ldap_passwd_sync(void); BOOL lp_ldap_delete_dn(void); char *lp_add_share_cmd(void); char *lp_change_share_cmd(void); char *lp_delete_share_cmd(void); BOOL lp_disable_netbios(void); BOOL lp_ms_add_printer_wizard(void); BOOL lp_dns_proxy(void); BOOL lp_wins_support(void); BOOL lp_we_are_a_wins_server(void); BOOL lp_wins_proxy(void); BOOL lp_local_master(void); BOOL lp_domain_logons(void); BOOL lp_load_printers(void); BOOL lp_readprediction(void); BOOL lp_readbmpx(void); BOOL lp_readraw(void); BOOL lp_large_readwrite(void); BOOL lp_writeraw(void); BOOL lp_null_passwords(void); BOOL lp_obey_pam_restrictions(void); BOOL lp_encrypted_passwords(void); BOOL lp_update_encrypted(void); int lp_client_schannel(void); int lp_server_schannel(void); BOOL lp_syslog_only(void); BOOL lp_timestamp_logs(void); BOOL lp_debug_hires_timestamp(void); BOOL lp_debug_pid(void); BOOL lp_debug_uid(void); BOOL lp_browse_list(void); BOOL lp_nis_home_map(void); BOOL lp_bind_interfaces_only(void); BOOL lp_pam_password_change(void); BOOL lp_unix_password_sync(void); BOOL lp_passwd_chat_debug(void); BOOL lp_unicode(void); BOOL lp_nt_pipe_support(void); BOOL lp_nt_status_support(void); BOOL lp_stat_cache(void); BOOL lp_allow_trusted_domains(void); int lp_restrict_anonymous(void); BOOL lp_lanman_auth(void); BOOL lp_ntlm_auth(void); BOOL lp_client_plaintext_auth(void); BOOL lp_client_lanman_auth(void); BOOL lp_client_ntlmv2_auth(void); BOOL lp_host_msdfs(void); BOOL lp_kernel_oplocks(void); BOOL lp_enhanced_browsing(void); BOOL lp_use_mmap(void); BOOL lp_unix_extensions(void); BOOL lp_use_spnego(void); BOOL lp_client_use_spnego(void); BOOL lp_hostname_lookups(void); BOOL lp_kernel_change_notify(void); int lp_os_level(void); int lp_max_ttl(void); int lp_max_wins_ttl(void); int lp_min_wins_ttl(void); int lp_max_log_size(void); int lp_max_open_files(void); int lp_maxxmit(void); int lp_maxmux(void); int lp_passwordlevel(void); int lp_usernamelevel(void); int lp_readsize(void); int lp_deadtime(void); int lp_maxprotocol(void); int lp_minprotocol(void); int lp_security(void); const char **lp_auth_methods(void); BOOL lp_paranoid_server_security(void); int lp_maxdisksize(void); int lp_lpqcachetime(void); int lp_max_smbd_processes(void); int lp_disable_spoolss(void); int lp_syslog(void); int lp_lm_announce(void); int lp_lm_interval(void); int lp_machine_password_timeout(void); int lp_change_notify_timeout(void); int lp_map_to_guest(void); int lp_min_passwd_length(void); int lp_oplock_break_wait_time(void); int lp_lock_spin_count(void); int lp_lock_sleep_time(void); char *lp_preexec(int ); char *lp_postexec(int ); char *lp_rootpreexec(int ); char *lp_rootpostexec(int ); char *lp_servicename(int ); const char *lp_const_servicename(int ); char *lp_pathname(int ); char *lp_dontdescend(int ); char *lp_username(int ); const char **lp_invalid_users(int ); const char **lp_valid_users(int ); const char **lp_admin_users(int ); char *lp_printcommand(int ); char *lp_lpqcommand(int ); char *lp_lprmcommand(int ); char *lp_lppausecommand(int ); char *lp_lpresumecommand(int ); char *lp_queuepausecommand(int ); char *lp_queueresumecommand(int ); const char **lp_hostsallow(int ); const char **lp_hostsdeny(int ); char *lp_magicscript(int ); char *lp_magicoutput(int ); char *lp_comment(int ); char *lp_force_user(int ); char *lp_force_group(int ); const char **lp_readlist(int ); const char **lp_writelist(int ); const char **lp_printer_admin(int ); char *lp_fstype(int ); const char **lp_vfs_objects(int ); char *lp_msdfs_proxy(int ); char *lp_mangled_map(int ); char *lp_veto_files(int ); char *lp_hide_files(int ); char *lp_veto_oplocks(int ); BOOL lp_msdfs_root(int ); BOOL lp_autoloaded(int ); BOOL lp_preexec_close(int ); BOOL lp_rootpreexec_close(int ); BOOL lp_casesensitive(int ); BOOL lp_preservecase(int ); BOOL lp_shortpreservecase(int ); BOOL lp_casemangle(int ); BOOL lp_hide_dot_files(int ); BOOL lp_hide_special_files(int ); BOOL lp_hideunreadable(int ); BOOL lp_hideunwriteable_files(int ); BOOL lp_browseable(int ); BOOL lp_readonly(int ); BOOL lp_no_set_dir(int ); BOOL lp_guest_ok(int ); BOOL lp_guest_only(int ); BOOL lp_print_ok(int ); BOOL lp_map_hidden(int ); BOOL lp_map_archive(int ); BOOL lp_locking(int ); BOOL lp_strict_locking(int ); BOOL lp_posix_locking(int ); BOOL lp_share_modes(int ); BOOL lp_oplocks(int ); BOOL lp_level2_oplocks(int ); BOOL lp_onlyuser(int ); BOOL lp_manglednames(int ); BOOL lp_widelinks(int ); BOOL lp_symlinks(int ); BOOL lp_syncalways(int ); BOOL lp_strict_allocate(int ); BOOL lp_strict_sync(int ); BOOL lp_map_system(int ); BOOL lp_delete_readonly(int ); BOOL lp_fake_oplocks(int ); BOOL lp_recursive_veto_delete(int ); BOOL lp_dos_filemode(int ); BOOL lp_dos_filetimes(int ); BOOL lp_dos_filetime_resolution(int ); BOOL lp_fake_dir_create_times(int ); BOOL lp_blocking_locks(int ); BOOL lp_inherit_perms(int ); BOOL lp_inherit_acls(int ); BOOL lp_use_client_driver(int ); BOOL lp_default_devmode(int ); BOOL lp_nt_acl_support(int ); BOOL _lp_use_sendfile(int ); BOOL lp_profile_acls(int ); BOOL lp_map_acl_inherit(int ); BOOL lp_afs_share(int ); int lp_create_mask(int ); int lp_force_create_mode(int ); int lp_security_mask(int ); int lp_force_security_mode(int ); int lp_dir_mask(int ); int lp_force_dir_mode(int ); int lp_dir_security_mask(int ); int lp_force_dir_security_mode(int ); int lp_max_connections(int ); int lp_defaultcase(int ); int lp_minprintspace(int ); int lp_printing(int ); int lp_max_reported_jobs(int ); int lp_oplock_contention_limit(int ); int lp_csc_policy(int ); int lp_write_cache_size(int ); int lp_block_size(int ); char lp_magicchar(int ); int lp_winbind_cache_time(void); BOOL lp_hide_local_users(void); int lp_algorithmic_rid_base(void); int lp_name_cache_timeout(void); int lp_client_signing(void); int lp_server_signing(void); char *lp_parm_talloc_string(int snum, const char *type, const char *option, const char *def); const char *lp_parm_const_string(int snum, const char *type, const char *option, const char *def); const char **lp_parm_string_list(int snum, const char *type, const char *option, const char **def); int lp_parm_int(int snum, const char *type, const char *option, int def); unsigned long lp_parm_ulong(int snum, const char *type, const char *option, unsigned long def); BOOL lp_parm_bool(int snum, const char *type, const char *option, BOOL def); int lp_parm_enum(int snum, const char *type, const char *option, const struct enum_list *_enum, int def); BOOL lp_add_home(const char *pszHomename, int iDefaultService, const char *user, const char *pszHomedir); int lp_add_service(const char *pszService, int iDefaultService); BOOL lp_add_printer(const char *pszPrintername, int iDefaultService); BOOL lp_file_list_changed(void); BOOL lp_idmap_uid(uid_t *low, uid_t *high); BOOL lp_idmap_gid(gid_t *low, gid_t *high); void *lp_local_ptr(int snum, void *ptr); BOOL lp_do_parameter(int snum, const char *pszParmName, const char *pszParmValue); void init_locals(void); BOOL lp_is_default(int snum, struct parm_struct *parm); struct parm_struct *lp_next_parameter(int snum, int *i, int allparameters); BOOL lp_snum_ok(int iService); void lp_add_one_printer(char *name, char *comment); void update_server_announce_as_printserver(void); BOOL lp_loaded(void); void lp_killunused(BOOL (*snumused) (int)); void lp_killservice(int iServiceIn); BOOL lp_load(const char *pszFname, BOOL global_only, BOOL save_defaults, BOOL add_ipc); void lp_resetnumservices(void); int lp_numservices(void); void lp_dump(FILE *f, BOOL show_defaults, int maxtoprint); void lp_dump_one(FILE * f, BOOL show_defaults, int snum); int lp_servicenumber(const char *pszServiceName); char *volume_label(int snum); int lp_server_role(void); BOOL lp_domain_master(void); BOOL lp_preferred_master(void); void lp_remove_service(int snum); void lp_copy_service(int snum, const char *new_name); int lp_default_server_announce(void); int lp_major_announce_version(void); int lp_minor_announce_version(void); void lp_set_name_resolve_order(char *new_order); const char *lp_printername(int snum); void get_private_directory(pstring privdir); void lp_set_logfile(const char *name); const char *get_called_name(void); int lp_maxprintjobs(int snum); BOOL lp_use_sendfile(int snum); BOOL pm_process( const char *FileName, BOOL (*sfunc)(const char *), BOOL (*pfunc)(const char *, const char *) ); BOOL lookup_name(const char *domain, const char *name, DOM_SID *psid, enum SID_NAME_USE *name_type); BOOL lookup_sid(DOM_SID *sid, fstring dom_name, fstring name, enum SID_NAME_USE *name_type); NTSTATUS uid_to_sid(DOM_SID *psid, uid_t uid); NTSTATUS gid_to_sid(DOM_SID *psid, gid_t gid); NTSTATUS sid_to_uid(const DOM_SID *psid, uid_t *puid); NTSTATUS sid_to_gid(const DOM_SID *psid, gid_t *pgid); DOM_SID *get_global_sam_sid(void); const char *get_default_sam_name(void); const char *get_global_sam_name(void) ; void pdb_fill_default_sam(SAM_ACCOUNT *user); NTSTATUS pdb_init_sam_talloc(TALLOC_CTX *mem_ctx, SAM_ACCOUNT **user); NTSTATUS pdb_init_sam(SAM_ACCOUNT **user); NTSTATUS pdb_fill_sam_pw(SAM_ACCOUNT *sam_account, const struct passwd *pwd); NTSTATUS pdb_init_sam_pw(SAM_ACCOUNT **new_sam_acct, const struct passwd *pwd); NTSTATUS pdb_init_sam_new(SAM_ACCOUNT **new_sam_acct, const char *username, unsigned int rid); NTSTATUS pdb_reset_sam(SAM_ACCOUNT *user); NTSTATUS pdb_free_sam(SAM_ACCOUNT **user); NTSTATUS pdb_set_sam_sids(SAM_ACCOUNT *account_data, const struct passwd *pwd); char *pdb_encode_acct_ctrl(unsigned short acct_ctrl, size_t length); unsigned short pdb_decode_acct_ctrl(const char *p); void pdb_sethexpwd(char *p, const unsigned char *pwd, unsigned short acct_ctrl); BOOL pdb_gethexpwd(const char *p, unsigned char *pwd); int algorithmic_rid_base(void); uid_t fallback_pdb_user_rid_to_uid(unsigned int user_rid); unsigned int fallback_pdb_uid_to_user_rid(uid_t uid); gid_t pdb_group_rid_to_gid(unsigned int group_rid); unsigned int pdb_gid_to_group_rid(gid_t gid); BOOL fallback_pdb_rid_is_user(unsigned int rid); BOOL local_lookup_sid(DOM_SID *sid, char *name, enum SID_NAME_USE *psid_name_use); BOOL local_lookup_name(const char *c_user, DOM_SID *psid, enum SID_NAME_USE *psid_name_use); BOOL local_password_change(const char *user_name, int local_flags, const char *new_passwd, char *err_str, size_t err_str_len, char *msg_str, size_t msg_str_len); DOM_SID *local_uid_to_sid(DOM_SID *psid, uid_t uid); BOOL local_sid_to_uid(uid_t *puid, const DOM_SID *psid, enum SID_NAME_USE *name_type); DOM_SID *local_gid_to_sid(DOM_SID *psid, gid_t gid); BOOL local_sid_to_gid(gid_t *pgid, const DOM_SID *psid, enum SID_NAME_USE *name_type); BOOL init_sam_from_buffer(SAM_ACCOUNT *sampass, unsigned char *buf, unsigned int buflen); unsigned int init_buffer_from_sam (unsigned char **buf, const SAM_ACCOUNT *sampass, BOOL size_only); BOOL get_free_rid_range(unsigned int *low, unsigned int *high); unsigned int pdb_get_user_rid (const SAM_ACCOUNT *sampass); unsigned int pdb_get_group_rid (const SAM_ACCOUNT *sampass); BOOL pdb_set_user_sid_from_rid (SAM_ACCOUNT *sampass, unsigned int rid, enum pdb_value_state flag); BOOL pdb_set_group_sid_from_rid (SAM_ACCOUNT *sampass, unsigned int grid, enum pdb_value_state flag); unsigned short pdb_get_acct_ctrl (const SAM_ACCOUNT *sampass); time_t pdb_get_logon_time (const SAM_ACCOUNT *sampass); time_t pdb_get_logoff_time (const SAM_ACCOUNT *sampass); time_t pdb_get_kickoff_time (const SAM_ACCOUNT *sampass); time_t pdb_get_pass_last_set_time (const SAM_ACCOUNT *sampass); time_t pdb_get_pass_can_change_time (const SAM_ACCOUNT *sampass); time_t pdb_get_pass_must_change_time (const SAM_ACCOUNT *sampass); unsigned short pdb_get_logon_divs (const SAM_ACCOUNT *sampass); unsigned int pdb_get_hours_len (const SAM_ACCOUNT *sampass); const unsigned char* pdb_get_hours (const SAM_ACCOUNT *sampass); const unsigned char* pdb_get_nt_passwd (const SAM_ACCOUNT *sampass); const unsigned char* pdb_get_lanman_passwd (const SAM_ACCOUNT *sampass); const char* pdb_get_plaintext_passwd (const SAM_ACCOUNT *sampass); const DOM_SID *pdb_get_user_sid(const SAM_ACCOUNT *sampass); const DOM_SID *pdb_get_group_sid(const SAM_ACCOUNT *sampass); enum pdb_value_state pdb_get_init_flags (const SAM_ACCOUNT *sampass, enum pdb_elements element); const char* pdb_get_username (const SAM_ACCOUNT *sampass); const char* pdb_get_domain (const SAM_ACCOUNT *sampass); const char* pdb_get_nt_username (const SAM_ACCOUNT *sampass); const char* pdb_get_fullname (const SAM_ACCOUNT *sampass); const char* pdb_get_homedir (const SAM_ACCOUNT *sampass); const char* pdb_get_unix_homedir (const SAM_ACCOUNT *sampass); const char* pdb_get_dir_drive (const SAM_ACCOUNT *sampass); const char* pdb_get_logon_script (const SAM_ACCOUNT *sampass); const char* pdb_get_profile_path (const SAM_ACCOUNT *sampass); const char* pdb_get_acct_desc (const SAM_ACCOUNT *sampass); const char* pdb_get_workstations (const SAM_ACCOUNT *sampass); const char* pdb_get_unknown_str (const SAM_ACCOUNT *sampass); const char* pdb_get_munged_dial (const SAM_ACCOUNT *sampass); unsigned int pdb_get_unknown_3 (const SAM_ACCOUNT *sampass); unsigned int pdb_get_unknown_5 (const SAM_ACCOUNT *sampass); unsigned int pdb_get_unknown_6 (const SAM_ACCOUNT *sampass); void *pdb_get_backend_private_data (const SAM_ACCOUNT *sampass, const struct pdb_methods *my_methods); BOOL pdb_set_acct_ctrl (SAM_ACCOUNT *sampass, unsigned short acct_ctrl, enum pdb_value_state flag); BOOL pdb_set_logon_time (SAM_ACCOUNT *sampass, time_t mytime, enum pdb_value_state flag); BOOL pdb_set_logoff_time (SAM_ACCOUNT *sampass, time_t mytime, enum pdb_value_state flag); BOOL pdb_set_kickoff_time (SAM_ACCOUNT *sampass, time_t mytime, enum pdb_value_state flag); BOOL pdb_set_pass_can_change_time (SAM_ACCOUNT *sampass, time_t mytime, enum pdb_value_state flag); BOOL pdb_set_pass_must_change_time (SAM_ACCOUNT *sampass, time_t mytime, enum pdb_value_state flag); BOOL pdb_set_pass_last_set_time (SAM_ACCOUNT *sampass, time_t mytime, enum pdb_value_state flag); BOOL pdb_set_hours_len (SAM_ACCOUNT *sampass, unsigned int len, enum pdb_value_state flag); BOOL pdb_set_logon_divs (SAM_ACCOUNT *sampass, unsigned short hours, enum pdb_value_state flag); BOOL pdb_set_init_flags (SAM_ACCOUNT *sampass, enum pdb_elements element, enum pdb_value_state value_flag); BOOL pdb_set_user_sid (SAM_ACCOUNT *sampass, DOM_SID *u_sid, enum pdb_value_state flag); BOOL pdb_set_user_sid_from_string (SAM_ACCOUNT *sampass, fstring u_sid, enum pdb_value_state flag); BOOL pdb_set_group_sid (SAM_ACCOUNT *sampass, DOM_SID *g_sid, enum pdb_value_state flag); BOOL pdb_set_group_sid_from_string (SAM_ACCOUNT *sampass, fstring g_sid, enum pdb_value_state flag); BOOL pdb_set_username(SAM_ACCOUNT *sampass, const char *username, enum pdb_value_state flag); BOOL pdb_set_domain(SAM_ACCOUNT *sampass, const char *domain, enum pdb_value_state flag); BOOL pdb_set_nt_username(SAM_ACCOUNT *sampass, const char *nt_username, enum pdb_value_state flag); BOOL pdb_set_fullname(SAM_ACCOUNT *sampass, const char *full_name, enum pdb_value_state flag); BOOL pdb_set_logon_script(SAM_ACCOUNT *sampass, const char *logon_script, enum pdb_value_state flag); BOOL pdb_set_profile_path (SAM_ACCOUNT *sampass, const char *profile_path, enum pdb_value_state flag); BOOL pdb_set_dir_drive (SAM_ACCOUNT *sampass, const char *dir_drive, enum pdb_value_state flag); BOOL pdb_set_homedir (SAM_ACCOUNT *sampass, const char *home_dir, enum pdb_value_state flag); BOOL pdb_set_unix_homedir (SAM_ACCOUNT *sampass, const char *unix_home_dir, enum pdb_value_state flag); BOOL pdb_set_acct_desc (SAM_ACCOUNT *sampass, const char *acct_desc, enum pdb_value_state flag); BOOL pdb_set_workstations (SAM_ACCOUNT *sampass, const char *workstations, enum pdb_value_state flag); BOOL pdb_set_unknown_str (SAM_ACCOUNT *sampass, const char *unknown_str, enum pdb_value_state flag); BOOL pdb_set_munged_dial (SAM_ACCOUNT *sampass, const char *munged_dial, enum pdb_value_state flag); BOOL pdb_set_nt_passwd (SAM_ACCOUNT *sampass, const unsigned char pwd[16], enum pdb_value_state flag); BOOL pdb_set_lanman_passwd (SAM_ACCOUNT *sampass, const unsigned char pwd[16], enum pdb_value_state flag); BOOL pdb_set_plaintext_pw_only (SAM_ACCOUNT *sampass, const char *password, enum pdb_value_state flag); BOOL pdb_set_unknown_3 (SAM_ACCOUNT *sampass, unsigned int unkn, enum pdb_value_state flag); BOOL pdb_set_unknown_5 (SAM_ACCOUNT *sampass, unsigned int unkn, enum pdb_value_state flag); BOOL pdb_set_unknown_6 (SAM_ACCOUNT *sampass, unsigned int unkn, enum pdb_value_state flag); BOOL pdb_set_hours (SAM_ACCOUNT *sampass, const unsigned char *hours, enum pdb_value_state flag); BOOL pdb_set_backend_private_data (SAM_ACCOUNT *sampass, void *private_data, void (*free_fn)(void **), const struct pdb_methods *my_methods, enum pdb_value_state flag); BOOL pdb_set_pass_changed_now (SAM_ACCOUNT *sampass); BOOL pdb_set_plaintext_passwd (SAM_ACCOUNT *sampass, const char *plaintext); NTSTATUS pdb_init_guestsam(PDB_CONTEXT *pdb_context, PDB_METHODS **pdb_method, const char *location); NTSTATUS pdb_guest_init(void); NTSTATUS smb_register_passdb(int version, const char *name, pdb_init_function init) ; NTSTATUS make_pdb_context_list(struct pdb_context **context, const char **selected) ; NTSTATUS make_pdb_context_string(struct pdb_context **context, const char *selected) ; BOOL pdb_setsampwent(BOOL update) ; void pdb_endsampwent(void) ; BOOL pdb_getsampwent(SAM_ACCOUNT *user) ; BOOL pdb_getsampwnam(SAM_ACCOUNT *sam_acct, const char *username) ; BOOL pdb_getsampwsid(SAM_ACCOUNT *sam_acct, const DOM_SID *sid) ; BOOL pdb_add_sam_account(SAM_ACCOUNT *sam_acct) ; BOOL pdb_update_sam_account(SAM_ACCOUNT *sam_acct) ; BOOL pdb_delete_sam_account(SAM_ACCOUNT *sam_acct) ; BOOL pdb_getgrsid(GROUP_MAP *map, DOM_SID sid); BOOL pdb_getgrgid(GROUP_MAP *map, gid_t gid); BOOL pdb_getgrnam(GROUP_MAP *map, char *name); BOOL pdb_add_group_mapping_entry(GROUP_MAP *map); BOOL pdb_update_group_mapping_entry(GROUP_MAP *map); BOOL pdb_delete_group_mapping_entry(DOM_SID sid); BOOL pdb_enum_group_mapping(enum SID_NAME_USE sid_name_use, GROUP_MAP **rmap, int *num_entries, BOOL unix_only); BOOL initialize_password_db(BOOL reload); NTSTATUS make_pdb_methods(TALLOC_CTX *mem_ctx, PDB_METHODS **methods) ; NTSTATUS pdb_smbpasswd_init(void) ; NTSTATUS pdb_tdbsam_init(void); BOOL privilege_init(void); NTSTATUS privilege_enum_account_with_right(const char *right, unsigned int *count, DOM_SID **sids); NTSTATUS privilege_add_account_right(const char *right, DOM_SID *sid); NTSTATUS privilege_remove_account_right(const char *right, DOM_SID *sid); NTSTATUS privilege_enum_account_rights(DOM_SID *sid, unsigned int *count, char ***rights); BOOL secrets_init(void); void *secrets_fetch(const char *key, size_t *size); BOOL secrets_store(const char *key, const void *data, size_t size); BOOL secrets_delete(const char *key); BOOL secrets_store_domain_sid(const char *domain, const DOM_SID *sid); BOOL secrets_fetch_domain_sid(const char *domain, DOM_SID *sid); BOOL secrets_store_domain_guid(const char *domain, GUID *guid); BOOL secrets_fetch_domain_guid(const char *domain, GUID *guid); const char *trust_keystr(const char *domain); BOOL secrets_lock_trust_account_password(const char *domain, BOOL dolock); unsigned int get_default_sec_channel(void) ; BOOL secrets_fetch_trust_account_password(const char *domain, unsigned char ret_pwd[16], time_t *pass_last_set_time, unsigned int *channel); BOOL secrets_fetch_trusted_domain_password(const char *domain, char** pwd, DOM_SID *sid, time_t *pass_last_set_time); BOOL secrets_store_trust_account_password(const char *domain, unsigned char new_pwd[16]); BOOL secrets_store_trusted_domain_password(const char* domain, smb_ucs2_t *uni_dom_name, size_t uni_name_len, const char* pwd, DOM_SID sid); BOOL secrets_store_machine_password(const char *pass, const char *domain, unsigned int sec_channel); char *secrets_fetch_machine_password(const char *domain, time_t *pass_last_set_time, unsigned int *channel); BOOL trust_password_delete(const char *domain); BOOL trusted_domain_password_delete(const char *domain); void reset_globals_after_fork(void); BOOL secrets_store_ldap_pw(const char* dn, char* pw); NTSTATUS secrets_get_trusted_domains(TALLOC_CTX* ctx, int* enum_ctx, unsigned int max_num_domains, int *num_domains, TRUSTDOM ***domains); BOOL secrets_named_mutex(const char *name, unsigned int timeout); void secrets_named_mutex_release(const char *name); BOOL must_use_pdc( const char *domain ); BOOL secrets_store_afs_keyfile(const char *cell, const struct afs_keyfile *keyfile); BOOL secrets_fetch_afs_key(const char *cell, struct afs_key *result); BOOL map_domain_sid_to_name(DOM_SID *sid, fstring nt_domain); BOOL lookup_known_rid(DOM_SID *sid, unsigned int rid, char *name, enum SID_NAME_USE *psid_name_use); BOOL map_domain_name_to_sid(DOM_SID *sid, char *nt_domain); BOOL sid_check_is_domain(const DOM_SID *sid); BOOL sid_check_is_in_our_domain(const DOM_SID *sid); BOOL map_name_to_wellknown_sid(DOM_SID *sid, enum SID_NAME_USE *use, const char *name); void add_all_printers(void); void load_printers(void); BOOL parse_lpq_entry(int snum,char *line, print_queue_struct *buf, print_status_struct *status,BOOL first); int print_queue_snum(const char *qname); BOOL print_notify_messages_pending(void); void print_notify_send_messages(unsigned int timeout); void notify_printer_status_byname(const char *printer_name, unsigned int status); void notify_printer_status(int snum, unsigned int status); void notify_job_status_byname(const char *printer_name, unsigned int jobid, unsigned int status, unsigned int flags); void notify_job_status(int snum, unsigned int jobid, unsigned int status); void notify_job_total_bytes(int snum, unsigned int jobid, unsigned int size); void notify_job_total_pages(int snum, unsigned int jobid, unsigned int pages); void notify_job_username(int snum, unsigned int jobid, char *name); void notify_job_name(int snum, unsigned int jobid, char *name); void notify_job_submitted(int snum, unsigned int jobid, time_t submitted); void notify_printer_driver(int snum, char *driver_name); void notify_printer_comment(int snum, char *comment); void notify_printer_sharename(int snum, char *share_name); void notify_printer_port(int snum, char *port_name); void notify_printer_location(int snum, char *location); void notify_printer_byname( const char *printername, unsigned int change, char *value ); BOOL print_notify_pid_list(const char *printername, TALLOC_CTX *mem_ctx, size_t *p_num_pids, pid_t **pp_pid_list); BOOL nt_printing_init(void); unsigned int update_c_setprinter(BOOL initialize); unsigned int get_c_setprinter(void); int get_builtin_ntforms(nt_forms_struct **list); BOOL get_a_builtin_ntform(UNISTR2 *uni_formname,nt_forms_struct *form); int get_ntforms(nt_forms_struct **list); int write_ntforms(nt_forms_struct **list, int number); BOOL add_a_form(nt_forms_struct **list, const FORM *form, int *count); BOOL delete_a_form(nt_forms_struct **list, UNISTR2 *del_name, int *count, WERROR *ret); void update_a_form(nt_forms_struct **list, const FORM *form, int count); int get_ntdrivers(fstring **list, const char *architecture, unsigned int version); const char *get_short_archi(const char *long_archi); WERROR clean_up_driver_struct(NT_PRINTER_DRIVER_INFO_LEVEL driver_abstract, unsigned int level, struct current_user *user); BOOL move_driver_to_download_area(NT_PRINTER_DRIVER_INFO_LEVEL driver_abstract, unsigned int level, struct current_user *user, WERROR *perr); int pack_devicemode(NT_DEVICEMODE *nt_devmode, char *buf, int buflen); unsigned int del_a_printer(char *sharename); NT_DEVICEMODE *construct_nt_devicemode(const fstring default_devicename); NT_DEVICEMODE *dup_nt_devicemode(NT_DEVICEMODE *nt_devicemode); void free_nt_devicemode(NT_DEVICEMODE **devmode_ptr); int unpack_devicemode(NT_DEVICEMODE **nt_devmode, char *buf, int buflen); int lookup_printerkey( NT_PRINTER_DATA *data, const char *name ); unsigned int get_printer_subkeys( NT_PRINTER_DATA *data, const char* key, fstring **subkeys ); WERROR unpublish_it(NT_PRINTER_INFO_LEVEL *printer); WERROR nt_printer_publish(Printer_entry *print_hnd, int snum, int action); BOOL is_printer_published(Printer_entry *print_hnd, int snum, GUID *guid); WERROR nt_printer_publish(Printer_entry *print_hnd, int snum, int action); BOOL is_printer_published(Printer_entry *print_hnd, int snum, GUID *guid); WERROR delete_all_printer_data( NT_PRINTER_INFO_LEVEL_2 *p2, const char *key ); WERROR delete_printer_data( NT_PRINTER_INFO_LEVEL_2 *p2, const char *key, const char *value ); WERROR add_printer_data( NT_PRINTER_INFO_LEVEL_2 *p2, const char *key, const char *value, unsigned int type, unsigned char *data, int real_len ); REGISTRY_VALUE* get_printer_data( NT_PRINTER_INFO_LEVEL_2 *p2, const char *key, const char *value ); WERROR mod_a_printer(NT_PRINTER_INFO_LEVEL printer, unsigned int level); BOOL set_driver_init(NT_PRINTER_INFO_LEVEL *printer, unsigned int level); BOOL del_driver_init(char *drivername); unsigned int update_driver_init(NT_PRINTER_INFO_LEVEL printer, unsigned int level); WERROR save_driver_init(NT_PRINTER_INFO_LEVEL *printer, unsigned int level, unsigned char *data, unsigned int data_len); NT_PRINTER_INFO_LEVEL_2* dup_printer_2( TALLOC_CTX *ctx, NT_PRINTER_INFO_LEVEL_2 *printer ); WERROR get_a_printer( Printer_entry *print_hnd, NT_PRINTER_INFO_LEVEL **pp_printer, unsigned int level, const char *sharename); unsigned int free_a_printer(NT_PRINTER_INFO_LEVEL **pp_printer, unsigned int level); unsigned int add_a_printer_driver(NT_PRINTER_DRIVER_INFO_LEVEL driver, unsigned int level); WERROR get_a_printer_driver(NT_PRINTER_DRIVER_INFO_LEVEL *driver, unsigned int level, fstring drivername, const char *architecture, unsigned int version); unsigned int free_a_printer_driver(NT_PRINTER_DRIVER_INFO_LEVEL driver, unsigned int level); BOOL printer_driver_in_use ( NT_PRINTER_DRIVER_INFO_LEVEL_3 *info_3 ); BOOL printer_driver_files_in_use ( NT_PRINTER_DRIVER_INFO_LEVEL_3 *info ); WERROR delete_printer_driver( NT_PRINTER_DRIVER_INFO_LEVEL_3 *info_3, struct current_user *user, unsigned int version, BOOL delete_files ); WERROR nt_printing_setsec(const char *printername, SEC_DESC_BUF *secdesc_ctr); BOOL nt_printing_getsec(TALLOC_CTX *ctx, const char *printername, SEC_DESC_BUF **secdesc_ctr); void map_printer_permissions(SEC_DESC *sd); BOOL print_access_check(struct current_user *user, int snum, int access_type); BOOL print_time_access_check(int snum); BOOL pcap_printername_ok(const char *pszPrintername, const char *pszPrintcapname); void pcap_printer_fn(void (*fn)(char *, char *)); void cups_printer_fn(void (*fn)(char *, char *)); int cups_printername_ok(const char *name); void sysv_printer_fn(void (*fn)(char *, char *)); int sysv_printername_ok(const char *name); files_struct *print_fsp_open(connection_struct *conn, char *fname); void print_fsp_end(files_struct *fsp, BOOL normal_close); unsigned short pjobid_to_rap(int snum, unsigned int jobid); BOOL rap_to_pjobid(unsigned short rap_jobid, int *psnum, unsigned int *pjobid); BOOL print_backend_init(void); void printing_end(void); int unpack_pjob( char* buf, int buflen, struct printjob *pjob ); unsigned int sysjob_to_jobid(int unix_jobid); void pjob_delete(int snum, unsigned int jobid); BOOL print_notify_register_pid(int snum); BOOL print_notify_deregister_pid(int snum); BOOL print_job_exists(int snum, unsigned int jobid); int print_job_fd(int snum, unsigned int jobid); char *print_job_fname(int snum, unsigned int jobid); NT_DEVICEMODE *print_job_devmode(int snum, unsigned int jobid); BOOL print_job_set_place(int snum, unsigned int jobid, int place); BOOL print_job_set_name(int snum, unsigned int jobid, char *name); BOOL print_job_delete(struct current_user *user, int snum, unsigned int jobid, WERROR *errcode); BOOL print_job_pause(struct current_user *user, int snum, unsigned int jobid, WERROR *errcode); BOOL print_job_resume(struct current_user *user, int snum, unsigned int jobid, WERROR *errcode); int print_job_write(int snum, unsigned int jobid, const char *buf, int size); int print_queue_length(int snum, print_status_struct *pstatus); unsigned int print_job_start(struct current_user *user, int snum, char *jobname, NT_DEVICEMODE *nt_devmode ); void print_job_endpage(int snum, unsigned int jobid); BOOL print_job_end(int snum, unsigned int jobid, BOOL normal_close); int print_queue_status(int snum, print_queue_struct **ppqueue, print_status_struct *status); BOOL print_queue_pause(struct current_user *user, int snum, WERROR *errcode); BOOL print_queue_resume(struct current_user *user, int snum, WERROR *errcode); BOOL print_queue_purge(struct current_user *user, int snum, WERROR *errcode); struct tdb_print_db *get_print_db_byname(const char *printername); void release_print_db( struct tdb_print_db *pdb); void close_all_print_db(void); TDB_DATA get_printer_notify_pid_list(TDB_CONTEXT *tdb, const char *printer_name, BOOL cleanlist); void profile_message(int msg_type, pid_t src, void *buf, size_t len); void reqprofile_message(int msg_type, pid_t src, void *buf, size_t len); BOOL profile_setup(BOOL rdonly); BOOL reghook_cache_init( void ); BOOL reghook_cache_add( REGISTRY_HOOK *hook ); REGISTRY_HOOK* reghook_cache_find( char *keyname ); void reghook_dump_cache( int debuglevel ); BOOL init_registry_db( void ); BOOL regdb_store_reg_keys( char *keyname, REGSUBKEY_CTR *ctr ); int regdb_fetch_reg_keys( char* key, REGSUBKEY_CTR *ctr ); int regdb_fetch_reg_values( char* key, REGVAL_CTR *val ); BOOL regdb_store_reg_values( char *key, REGVAL_CTR *val ); BOOL init_registry( void ); BOOL store_reg_keys( REGISTRY_KEY *key, REGSUBKEY_CTR *subkeys ); BOOL store_reg_values( REGISTRY_KEY *key, REGVAL_CTR *val ); int fetch_reg_keys( REGISTRY_KEY *key, REGSUBKEY_CTR *subkey_ctr ); BOOL fetch_reg_keys_specific( REGISTRY_KEY *key, char** subkey, unsigned int key_index ); int fetch_reg_values( REGISTRY_KEY *key, REGVAL_CTR *val ); BOOL fetch_reg_values_specific( REGISTRY_KEY *key, REGISTRY_VALUE **val, unsigned int val_index ); BOOL reg_split_path( char *path, char **base, char **new_path ); void regsubkey_ctr_init( REGSUBKEY_CTR *ctr ); int regsubkey_ctr_addkey( REGSUBKEY_CTR *ctr, const char *keyname ); int regsubkey_ctr_numkeys( REGSUBKEY_CTR *ctr ); char* regsubkey_ctr_specific_key( REGSUBKEY_CTR *ctr, unsigned int key_index ); void regsubkey_ctr_destroy( REGSUBKEY_CTR *ctr ); void regval_ctr_init( REGVAL_CTR *ctr ); int regval_ctr_numvals( REGVAL_CTR *ctr ); REGISTRY_VALUE* dup_registry_value( REGISTRY_VALUE *val ); void free_registry_value( REGISTRY_VALUE *val ); unsigned char* regval_data_p( REGISTRY_VALUE *val ); int regval_size( REGISTRY_VALUE *val ); char* regval_name( REGISTRY_VALUE *val ); unsigned int regval_type( REGISTRY_VALUE *val ); REGISTRY_VALUE* regval_ctr_specific_value( REGVAL_CTR *ctr, unsigned int idx ); TALLOC_CTX* regval_ctr_getctx( REGVAL_CTR *val ); int regval_ctr_addvalue( REGVAL_CTR *ctr, const char *name, unsigned short type, const char *data_p, size_t size ); int regval_ctr_copyvalue( REGVAL_CTR *ctr, REGISTRY_VALUE *val ); int regval_ctr_delvalue( REGVAL_CTR *ctr, const char *name ); REGISTRY_VALUE* regval_ctr_getvalue( REGVAL_CTR *ctr, const char *name ); void regval_ctr_destroy( REGVAL_CTR *ctr ); int printing_subkey_info( char *key, REGSUBKEY_CTR *subkey_ctr ); int printing_value_info( char *key, REGVAL_CTR *val ); BOOL printing_store_subkey( char *key, REGSUBKEY_CTR *subkeys ); BOOL printing_store_value( char *key, REGVAL_CTR *val ); NTSTATUS cli_dfs_exist(struct cli_state *cli, TALLOC_CTX *mem_ctx, BOOL *dfs_exists); NTSTATUS cli_dfs_add(struct cli_state *cli, TALLOC_CTX *mem_ctx, const char *entrypath, const char *servername, const char *sharename, const char *comment, unsigned int flags); NTSTATUS cli_dfs_remove(struct cli_state *cli, TALLOC_CTX *mem_ctx, const char *entrypath, const char *servername, const char *sharename); NTSTATUS cli_dfs_get_info(struct cli_state *cli, TALLOC_CTX *mem_ctx, const char *entrypath, const char *servername, const char *sharename, unsigned int info_level, DFS_INFO_CTR *ctr); NTSTATUS cli_dfs_enum(struct cli_state *cli, TALLOC_CTX *mem_ctx, unsigned int info_level, DFS_INFO_CTR *ctr); NTSTATUS cli_ds_getprimarydominfo(struct cli_state *cli, TALLOC_CTX *mem_ctx, unsigned short level, DS_DOMINFO_CTR *ctr); NTSTATUS cli_ds_enum_domain_trusts(struct cli_state *cli, TALLOC_CTX *mem_ctx, const char *server, unsigned int flags, DS_DOMAIN_TRUSTS **trusts, unsigned int *num_domains); NTSTATUS cli_echo_add_one(struct cli_state *cli, TALLOC_CTX *mem_ctx, unsigned int request, unsigned int *response); NTSTATUS cli_echo_data(struct cli_state *cli, TALLOC_CTX *mem_ctx, unsigned int size, char *in_data, char **out_data); NTSTATUS cli_echo_sink_data(struct cli_state *cli, TALLOC_CTX *mem_ctx, unsigned int size, char *in_data); NTSTATUS cli_echo_source_data(struct cli_state *cli, TALLOC_CTX *mem_ctx, unsigned int size, char **out_data); NTSTATUS cli_lsa_open_policy(struct cli_state *cli, TALLOC_CTX *mem_ctx, BOOL sec_qos, unsigned int des_access, POLICY_HND *pol); NTSTATUS cli_lsa_open_policy2(struct cli_state *cli, TALLOC_CTX *mem_ctx, BOOL sec_qos, unsigned int des_access, POLICY_HND *pol); NTSTATUS cli_lsa_close(struct cli_state *cli, TALLOC_CTX *mem_ctx, POLICY_HND *pol); NTSTATUS cli_lsa_lookup_sids(struct cli_state *cli, TALLOC_CTX *mem_ctx, POLICY_HND *pol, int num_sids, DOM_SID *sids, char ***domains, char ***names, unsigned int **types); NTSTATUS cli_lsa_lookup_names(struct cli_state *cli, TALLOC_CTX *mem_ctx, POLICY_HND *pol, int num_names, const char **names, DOM_SID **sids, unsigned int **types); NTSTATUS cli_lsa_query_info_policy(struct cli_state *cli, TALLOC_CTX *mem_ctx, POLICY_HND *pol, unsigned short info_class, fstring domain_name, DOM_SID *domain_sid); NTSTATUS cli_lsa_query_info_policy2(struct cli_state *cli, TALLOC_CTX *mem_ctx, POLICY_HND *pol, unsigned short info_class, fstring domain_name, fstring dns_name, fstring forest_name, GUID *domain_guid, DOM_SID *domain_sid); NTSTATUS cli_lsa_enum_trust_dom(struct cli_state *cli, TALLOC_CTX *mem_ctx, POLICY_HND *pol, unsigned int *enum_ctx, unsigned int *num_domains, char ***domain_names, DOM_SID **domain_sids); NTSTATUS cli_lsa_enum_privilege(struct cli_state *cli, TALLOC_CTX *mem_ctx, POLICY_HND *pol, unsigned int *enum_context, unsigned int pref_max_length, unsigned int *count, char ***privs_name, unsigned int **privs_high, unsigned int **privs_low); NTSTATUS cli_lsa_get_dispname(struct cli_state *cli, TALLOC_CTX *mem_ctx, POLICY_HND *pol, const char *name, unsigned short lang_id, unsigned short lang_id_sys, fstring description, unsigned short *lang_id_desc); NTSTATUS cli_lsa_enum_sids(struct cli_state *cli, TALLOC_CTX *mem_ctx, POLICY_HND *pol, unsigned int *enum_ctx, unsigned int pref_max_length, unsigned int *num_sids, DOM_SID **sids); NTSTATUS cli_lsa_open_account(struct cli_state *cli, TALLOC_CTX *mem_ctx, POLICY_HND *dom_pol, DOM_SID *sid, unsigned int des_access, POLICY_HND *user_pol); NTSTATUS cli_lsa_enum_privsaccount(struct cli_state *cli, TALLOC_CTX *mem_ctx, POLICY_HND *pol, unsigned int *count, LUID_ATTR **set); NTSTATUS cli_lsa_lookupprivvalue(struct cli_state *cli, TALLOC_CTX *mem_ctx, POLICY_HND *pol, const char *name, LUID *luid); NTSTATUS cli_lsa_query_secobj(struct cli_state *cli, TALLOC_CTX *mem_ctx, POLICY_HND *pol, unsigned int sec_info, SEC_DESC_BUF **psdb); NTSTATUS cli_lsa_enum_account_rights(struct cli_state *cli, TALLOC_CTX *mem_ctx, POLICY_HND *pol, DOM_SID sid, unsigned int *count, char ***privs_name); NTSTATUS cli_lsa_add_account_rights(struct cli_state *cli, TALLOC_CTX *mem_ctx, POLICY_HND *pol, DOM_SID sid, unsigned int count, const char **privs_name); NTSTATUS cli_lsa_remove_account_rights(struct cli_state *cli, TALLOC_CTX *mem_ctx, POLICY_HND *pol, DOM_SID sid, BOOL removeall, unsigned int count, const char **privs_name); BOOL fetch_domain_sid( char *domain, char *remote_machine, DOM_SID *psid); NTSTATUS cli_net_req_chal(struct cli_state *cli, DOM_CHAL *clnt_chal, DOM_CHAL *srv_chal); NTSTATUS cli_net_auth2(struct cli_state *cli, unsigned short sec_chan, unsigned int *neg_flags, DOM_CHAL *srv_chal); NTSTATUS cli_net_auth3(struct cli_state *cli, unsigned short sec_chan, unsigned int *neg_flags, DOM_CHAL *srv_chal); NTSTATUS cli_nt_setup_creds(struct cli_state *cli, unsigned short sec_chan, const unsigned char mach_pwd[16], unsigned int *neg_flags, int level); NTSTATUS cli_netlogon_logon_ctrl2(struct cli_state *cli, TALLOC_CTX *mem_ctx, unsigned int query_level); NTSTATUS cli_netlogon_sam_sync(struct cli_state *cli, TALLOC_CTX *mem_ctx, DOM_CRED *ret_creds, unsigned int database_id, unsigned int next_rid, unsigned int *num_deltas, SAM_DELTA_HDR **hdr_deltas, SAM_DELTA_CTR **deltas); NTSTATUS cli_netlogon_sam_deltas(struct cli_state *cli, TALLOC_CTX *mem_ctx, unsigned int database_id, UINT64_S seqnum, unsigned int *num_deltas, SAM_DELTA_HDR **hdr_deltas, SAM_DELTA_CTR **deltas); NTSTATUS cli_netlogon_sam_logon(struct cli_state *cli, TALLOC_CTX *mem_ctx, DOM_CRED *ret_creds, const char *username, const char *password, int logon_type); NTSTATUS cli_netlogon_sam_network_logon(struct cli_state *cli, TALLOC_CTX *mem_ctx, DOM_CRED *ret_creds, const char *username, const char *domain, const char *workstation, const unsigned char chal[8], DATA_BLOB lm_response, DATA_BLOB nt_response, NET_USER_INFO_3 *info3); NTSTATUS cli_net_srv_pwset(struct cli_state *cli, TALLOC_CTX *mem_ctx, const char *machine_name, unsigned char hashed_mach_pwd[16]); BOOL rpc_api_pipe_req(struct cli_state *cli, unsigned char op_num, prs_struct *data, prs_struct *rdata); int get_pipe_index( const char *pipe_name ); const char* get_pipe_name_from_index( const int pipe_index ); BOOL is_win2k_pipe( const int pipe_idx ); BOOL cli_nt_session_open(struct cli_state *cli, const int pipe_idx); NTSTATUS cli_nt_establish_netlogon(struct cli_state *cli, int sec_chan, const unsigned char trust_password[16]); NTSTATUS cli_nt_setup_netsec(struct cli_state *cli, int sec_chan, const unsigned char trust_password[16]); const char *cli_pipe_get_name(struct cli_state *cli); NTSTATUS cli_reg_shutdown(struct cli_state * cli, TALLOC_CTX *mem_ctx, const char *msg, unsigned int timeout, BOOL do_reboot, BOOL force); NTSTATUS cli_reg_abort_shutdown(struct cli_state * cli, TALLOC_CTX *mem_ctx); NTSTATUS cli_samr_connect(struct cli_state *cli, TALLOC_CTX *mem_ctx, unsigned int access_mask, POLICY_HND *connect_pol); NTSTATUS cli_samr_connect4(struct cli_state *cli, TALLOC_CTX *mem_ctx, unsigned int access_mask, POLICY_HND *connect_pol); NTSTATUS cli_samr_close(struct cli_state *cli, TALLOC_CTX *mem_ctx, POLICY_HND *connect_pol); NTSTATUS cli_samr_open_domain(struct cli_state *cli, TALLOC_CTX *mem_ctx, POLICY_HND *connect_pol, unsigned int access_mask, const DOM_SID *domain_sid, POLICY_HND *domain_pol); NTSTATUS cli_samr_open_user(struct cli_state *cli, TALLOC_CTX *mem_ctx, POLICY_HND *domain_pol, unsigned int access_mask, unsigned int user_rid, POLICY_HND *user_pol); NTSTATUS cli_samr_open_group(struct cli_state *cli, TALLOC_CTX *mem_ctx, POLICY_HND *domain_pol, unsigned int access_mask, unsigned int group_rid, POLICY_HND *group_pol); NTSTATUS cli_samr_query_userinfo(struct cli_state *cli, TALLOC_CTX *mem_ctx, POLICY_HND *user_pol, unsigned short switch_value, SAM_USERINFO_CTR **ctr); NTSTATUS cli_samr_query_groupinfo(struct cli_state *cli, TALLOC_CTX *mem_ctx, POLICY_HND *group_pol, unsigned int info_level, GROUP_INFO_CTR **ctr); NTSTATUS cli_samr_query_usergroups(struct cli_state *cli, TALLOC_CTX *mem_ctx, POLICY_HND *user_pol, unsigned int *num_groups, DOM_GID **gid); NTSTATUS cli_samr_query_useraliases(struct cli_state *cli, TALLOC_CTX *mem_ctx, POLICY_HND *user_pol, unsigned int num_sids, DOM_SID2 *sid, unsigned int *num_aliases, unsigned int **als_rids); NTSTATUS cli_samr_query_groupmem(struct cli_state *cli, TALLOC_CTX *mem_ctx, POLICY_HND *group_pol, unsigned int *num_mem, unsigned int **rid, unsigned int **attr); NTSTATUS cli_samr_enum_dom_users(struct cli_state *cli, TALLOC_CTX *mem_ctx, POLICY_HND *pol, unsigned int *start_idx, unsigned short acb_mask, unsigned int size, char ***dom_users, unsigned int **rids, unsigned int *num_dom_users); NTSTATUS cli_samr_enum_dom_groups(struct cli_state *cli, TALLOC_CTX *mem_ctx, POLICY_HND *pol, unsigned int *start_idx, unsigned int size, struct acct_info **dom_groups, unsigned int *num_dom_groups); NTSTATUS cli_samr_enum_als_groups(struct cli_state *cli, TALLOC_CTX *mem_ctx, POLICY_HND *pol, unsigned int *start_idx, unsigned int size, struct acct_info **dom_aliases, unsigned int *num_dom_aliases); NTSTATUS cli_samr_query_aliasmem(struct cli_state *cli, TALLOC_CTX *mem_ctx, POLICY_HND *alias_pol, unsigned int *num_mem, DOM_SID **sids); NTSTATUS cli_samr_open_alias(struct cli_state *cli, TALLOC_CTX *mem_ctx, POLICY_HND *domain_pol, unsigned int access_mask, unsigned int alias_rid, POLICY_HND *alias_pol); NTSTATUS cli_samr_query_alias_info(struct cli_state *cli, TALLOC_CTX *mem_ctx, POLICY_HND *alias_pol, unsigned short switch_value, ALIAS_INFO_CTR *ctr); NTSTATUS cli_samr_query_dom_info(struct cli_state *cli, TALLOC_CTX *mem_ctx, POLICY_HND *domain_pol, unsigned short switch_value, SAM_UNK_CTR *ctr); void get_query_dispinfo_params(int loop_count, unsigned int *max_entries, unsigned int *max_size); NTSTATUS cli_samr_query_dispinfo(struct cli_state *cli, TALLOC_CTX *mem_ctx, POLICY_HND *domain_pol, unsigned int *start_idx, unsigned short switch_value, unsigned int *num_entries, unsigned int max_entries, unsigned int max_size, SAM_DISPINFO_CTR *ctr); NTSTATUS cli_samr_lookup_rids(struct cli_state *cli, TALLOC_CTX *mem_ctx, POLICY_HND *domain_pol, unsigned int flags, unsigned int num_rids, unsigned int *rids, unsigned int *num_names, char ***names, unsigned int **name_types); NTSTATUS cli_samr_lookup_names(struct cli_state *cli, TALLOC_CTX *mem_ctx, POLICY_HND *domain_pol, unsigned int flags, unsigned int num_names, const char **names, unsigned int *num_rids, unsigned int **rids, unsigned int **rid_types); NTSTATUS cli_samr_create_dom_user(struct cli_state *cli, TALLOC_CTX *mem_ctx, POLICY_HND *domain_pol, const char *acct_name, unsigned int acb_info, unsigned int unknown, POLICY_HND *user_pol, unsigned int *rid); NTSTATUS cli_samr_set_userinfo(struct cli_state *cli, TALLOC_CTX *mem_ctx, POLICY_HND *user_pol, unsigned short switch_value, unsigned char sess_key[16], SAM_USERINFO_CTR *ctr); NTSTATUS cli_samr_set_userinfo2(struct cli_state *cli, TALLOC_CTX *mem_ctx, POLICY_HND *user_pol, unsigned short switch_value, unsigned char sess_key[16], SAM_USERINFO_CTR *ctr); NTSTATUS cli_samr_delete_dom_user(struct cli_state *cli, TALLOC_CTX *mem_ctx, POLICY_HND *user_pol); NTSTATUS cli_samr_query_sec_obj(struct cli_state *cli, TALLOC_CTX *mem_ctx, POLICY_HND *user_pol, unsigned short switch_value, TALLOC_CTX *ctx, SEC_DESC_BUF **sec_desc_buf); NTSTATUS cli_samr_get_dom_pwinfo(struct cli_state *cli, TALLOC_CTX *mem_ctx, unsigned short *unk_0, unsigned short *unk_1, unsigned short *unk_2); NTSTATUS cli_samr_lookup_domain(struct cli_state *cli, TALLOC_CTX *mem_ctx, POLICY_HND *user_pol, char *domain_name, DOM_SID *sid); WERROR cli_spoolss_open_printer_ex(struct cli_state *cli, TALLOC_CTX *mem_ctx, const char *printername, const char *datatype, unsigned int access_required, const char *station, const char *username, POLICY_HND *pol); WERROR cli_spoolss_close_printer(struct cli_state *cli, TALLOC_CTX *mem_ctx, POLICY_HND *pol); WERROR cli_spoolss_enum_printers(struct cli_state *cli, TALLOC_CTX *mem_ctx, unsigned int offered, unsigned int *needed, char *name, unsigned int flags, unsigned int level, unsigned int *num_printers, PRINTER_INFO_CTR *ctr); WERROR cli_spoolss_enum_ports(struct cli_state *cli, TALLOC_CTX *mem_ctx, unsigned int offered, unsigned int *needed, unsigned int level, unsigned int *num_ports, PORT_INFO_CTR *ctr); WERROR cli_spoolss_getprinter(struct cli_state *cli, TALLOC_CTX *mem_ctx, unsigned int offered, unsigned int *needed, POLICY_HND *pol, unsigned int level, PRINTER_INFO_CTR *ctr); WERROR cli_spoolss_setprinter(struct cli_state *cli, TALLOC_CTX *mem_ctx, POLICY_HND *pol, unsigned int level, PRINTER_INFO_CTR *ctr, unsigned int command); WERROR cli_spoolss_getprinterdriver(struct cli_state *cli, TALLOC_CTX *mem_ctx, unsigned int offered, unsigned int *needed, POLICY_HND *pol, unsigned int level, const char *env, int version, PRINTER_DRIVER_CTR *ctr); WERROR cli_spoolss_enumprinterdrivers (struct cli_state *cli, TALLOC_CTX *mem_ctx, unsigned int offered, unsigned int *needed, unsigned int level, const char *env, unsigned int *num_drivers, PRINTER_DRIVER_CTR *ctr); WERROR cli_spoolss_getprinterdriverdir (struct cli_state *cli, TALLOC_CTX *mem_ctx, unsigned int offered, unsigned int *needed, unsigned int level, char *env, DRIVER_DIRECTORY_CTR *ctr); WERROR cli_spoolss_addprinterdriver (struct cli_state *cli, TALLOC_CTX *mem_ctx, unsigned int level, PRINTER_DRIVER_CTR *ctr); WERROR cli_spoolss_addprinterex (struct cli_state *cli, TALLOC_CTX *mem_ctx, unsigned int level, PRINTER_INFO_CTR*ctr); WERROR cli_spoolss_deleteprinterdriver (struct cli_state *cli, TALLOC_CTX *mem_ctx, const char *arch, const char *driver); WERROR cli_spoolss_getprintprocessordirectory(struct cli_state *cli, TALLOC_CTX *mem_ctx, unsigned int offered, unsigned int *needed, char *name, char *environment, fstring procdir); WERROR cli_spoolss_addform(struct cli_state *cli, TALLOC_CTX *mem_ctx, POLICY_HND *handle, unsigned int level, FORM *form); WERROR cli_spoolss_setform(struct cli_state *cli, TALLOC_CTX *mem_ctx, POLICY_HND *handle, unsigned int level, const char *form_name, FORM *form); WERROR cli_spoolss_getform(struct cli_state *cli, TALLOC_CTX *mem_ctx, unsigned int offered, unsigned int *needed, POLICY_HND *handle, const char *formname, unsigned int level, FORM_1 *form); WERROR cli_spoolss_deleteform(struct cli_state *cli, TALLOC_CTX *mem_ctx, POLICY_HND *handle, const char *form_name); WERROR cli_spoolss_enumforms(struct cli_state *cli, TALLOC_CTX *mem_ctx, unsigned int offered, unsigned int *needed, POLICY_HND *handle, int level, unsigned int *num_forms, FORM_1 **forms); WERROR cli_spoolss_enumjobs(struct cli_state *cli, TALLOC_CTX *mem_ctx, unsigned int offered, unsigned int *needed, POLICY_HND *hnd, unsigned int level, unsigned int firstjob, unsigned int num_jobs, unsigned int *returned, JOB_INFO_CTR *ctr); WERROR cli_spoolss_setjob(struct cli_state *cli, TALLOC_CTX *mem_ctx, POLICY_HND *hnd, unsigned int jobid, unsigned int level, unsigned int command); WERROR cli_spoolss_getjob(struct cli_state *cli, TALLOC_CTX *mem_ctx, unsigned int offered, unsigned int *needed, POLICY_HND *hnd, unsigned int jobid, unsigned int level, JOB_INFO_CTR *ctr); WERROR cli_spoolss_startpageprinter(struct cli_state *cli, TALLOC_CTX *mem_ctx, POLICY_HND *hnd); WERROR cli_spoolss_endpageprinter(struct cli_state *cli, TALLOC_CTX *mem_ctx, POLICY_HND *hnd); WERROR cli_spoolss_startdocprinter(struct cli_state *cli, TALLOC_CTX *mem_ctx, POLICY_HND *hnd, char *docname, char *outputfile, char *datatype, unsigned int *jobid); WERROR cli_spoolss_enddocprinter(struct cli_state *cli, TALLOC_CTX *mem_ctx, POLICY_HND *hnd); WERROR cli_spoolss_getprinterdata(struct cli_state *cli, TALLOC_CTX *mem_ctx, unsigned int offered, unsigned int *needed, POLICY_HND *hnd, const char *valuename, REGISTRY_VALUE *value); WERROR cli_spoolss_getprinterdataex(struct cli_state *cli, TALLOC_CTX *mem_ctx, unsigned int offered, unsigned int *needed, POLICY_HND *hnd, const char *keyname, const char *valuename, REGISTRY_VALUE *value); WERROR cli_spoolss_setprinterdata(struct cli_state *cli, TALLOC_CTX *mem_ctx, POLICY_HND *hnd, REGISTRY_VALUE *value); WERROR cli_spoolss_setprinterdataex(struct cli_state *cli, TALLOC_CTX *mem_ctx, POLICY_HND *hnd, char *keyname, REGISTRY_VALUE *value); WERROR cli_spoolss_enumprinterdata(struct cli_state *cli, TALLOC_CTX *mem_ctx, POLICY_HND *hnd, unsigned int ndx, unsigned int value_offered, unsigned int data_offered, unsigned int *value_needed, unsigned int *data_needed, REGISTRY_VALUE *value); WERROR cli_spoolss_enumprinterdataex(struct cli_state *cli, TALLOC_CTX *mem_ctx, unsigned int offered, unsigned int *needed, POLICY_HND *hnd, const char *keyname, REGVAL_CTR *ctr); WERROR cli_spoolss_writeprinter(struct cli_state *cli, TALLOC_CTX *mem_ctx, POLICY_HND *hnd, unsigned int data_size, char *data, unsigned int *num_written); WERROR cli_spoolss_deleteprinterdata(struct cli_state *cli, TALLOC_CTX *mem_ctx, POLICY_HND *hnd, char *valuename); WERROR cli_spoolss_deleteprinterdataex(struct cli_state *cli, TALLOC_CTX *mem_ctx, POLICY_HND *hnd, char *keyname, char *valuename); WERROR cli_spoolss_enumprinterkey(struct cli_state *cli, TALLOC_CTX *mem_ctx, unsigned int offered, unsigned int *needed, POLICY_HND *hnd, const char *keyname, unsigned short **keylist, unsigned int *len); WERROR cli_spoolss_deleteprinterkey(struct cli_state *cli, TALLOC_CTX *mem_ctx, POLICY_HND *hnd, char *keyname); WERROR cli_spoolss_reply_open_printer(struct cli_state *cli, TALLOC_CTX *mem_ctx, const char *printer, unsigned int printerlocal, unsigned int type, POLICY_HND *handle); WERROR cli_spoolss_reply_close_printer(struct cli_state *cli, TALLOC_CTX *mem_ctx, POLICY_HND *handle); WERROR cli_spoolss_routerreplyprinter(struct cli_state *cli, TALLOC_CTX *mem_ctx, POLICY_HND *pol, unsigned int condition, unsigned int change_id); WERROR cli_spoolss_rrpcn(struct cli_state *cli, TALLOC_CTX *mem_ctx, POLICY_HND *pol, unsigned int notify_data_len, SPOOL_NOTIFY_INFO_DATA *notify_data, unsigned int change_low, unsigned int change_high); WERROR cli_spoolss_rffpcnex(struct cli_state *cli, TALLOC_CTX *mem_ctx, POLICY_HND *pol, unsigned int flags, unsigned int options, const char *localmachine, unsigned int printerlocal, SPOOL_NOTIFY_OPTION *option); WERROR cli_srvsvc_net_srv_get_info(struct cli_state *cli, TALLOC_CTX *mem_ctx, unsigned int switch_value, SRV_INFO_CTR *ctr); WERROR cli_srvsvc_net_share_enum(struct cli_state *cli, TALLOC_CTX *mem_ctx, unsigned int info_level, SRV_SHARE_INFO_CTR *ctr, int preferred_len, ENUM_HND *hnd); WERROR cli_srvsvc_net_share_del(struct cli_state *cli, TALLOC_CTX *mem_ctx, const char *sharename); WERROR cli_srvsvc_net_share_add(struct cli_state *cli, TALLOC_CTX *mem_ctx, const char *netname, unsigned int type, const char *remark, unsigned int perms, unsigned int max_uses, unsigned int num_uses, const char *path, const char *passwd); WERROR cli_srvsvc_net_remote_tod(struct cli_state *cli, TALLOC_CTX *mem_ctx, char *server, TIME_OF_DAY_INFO *tod); WERROR cli_srvsvc_net_file_enum(struct cli_state *cli, TALLOC_CTX *mem_ctx, unsigned int file_level, const char *user_name, SRV_FILE_INFO_CTR *ctr, int preferred_len, ENUM_HND *hnd); WERROR cli_srvsvc_net_file_close(struct cli_state *cli, TALLOC_CTX *mem_ctx, unsigned int file_id); NTSTATUS cli_wks_query_info(struct cli_state *cli, TALLOC_CTX *mem_ctx, WKS_INFO_100 *wks100); void init_dfs_q_dfs_exist(DFS_Q_DFS_EXIST *q_d); BOOL dfs_io_q_dfs_exist(const char *desc, DFS_Q_DFS_EXIST *q_d, prs_struct *ps, int depth); BOOL dfs_io_r_dfs_exist(const char *desc, DFS_R_DFS_EXIST *q_d, prs_struct *ps, int depth); BOOL init_dfs_q_dfs_remove(DFS_Q_DFS_REMOVE *q_d, const char *entrypath, const char *servername, const char *sharename); BOOL dfs_io_q_dfs_remove(const char *desc, DFS_Q_DFS_REMOVE *q_d, prs_struct *ps, int depth); BOOL dfs_io_r_dfs_remove(const char *desc, DFS_R_DFS_REMOVE *r_d, prs_struct *ps, int depth); BOOL init_dfs_q_dfs_add(DFS_Q_DFS_ADD *q_d, const char *entrypath, const char *servername, const char *sharename, const char *comment, unsigned int flags); BOOL dfs_io_q_dfs_add(const char *desc, DFS_Q_DFS_ADD *q_d, prs_struct *ps, int depth); BOOL dfs_io_r_dfs_add(const char *desc, DFS_R_DFS_ADD *r_d, prs_struct *ps, int depth); BOOL init_dfs_q_dfs_get_info(DFS_Q_DFS_GET_INFO *q_d, const char *entrypath, const char *servername, const char *sharename, unsigned int info_level); BOOL dfs_io_q_dfs_get_info(const char *desc, DFS_Q_DFS_GET_INFO* q_i, prs_struct* ps, int depth); BOOL dfs_io_r_dfs_get_info(const char *desc, DFS_R_DFS_GET_INFO* r_i, prs_struct* ps, int depth); BOOL init_dfs_q_dfs_enum(DFS_Q_DFS_ENUM *q_d, unsigned int level, DFS_INFO_CTR *ctr); BOOL dfs_io_q_dfs_enum(const char *desc, DFS_Q_DFS_ENUM *q_d, prs_struct *ps, int depth); BOOL dfs_io_dfs_info_ctr(const char *desc, DFS_INFO_CTR* ctr, unsigned int num_entries, unsigned int level, prs_struct* ps, int depth); BOOL dfs_io_r_dfs_enum(const char *desc, DFS_R_DFS_ENUM *q_d, prs_struct *ps, int depth); BOOL dfs_io_dfs_storage_info(const char *desc, DFS_INFO_3* info3, prs_struct *ps, int depth); BOOL ds_io_q_getprimdominfo( const char *desc, prs_struct *ps, int depth, DS_Q_GETPRIMDOMINFO *q_u); BOOL ds_io_r_getprimdominfo( const char *desc, prs_struct *ps, int depth, DS_R_GETPRIMDOMINFO *r_u); BOOL init_q_ds_enum_domain_trusts( DS_Q_ENUM_DOM_TRUSTS *q, const char *server, unsigned int flags ); BOOL ds_io_q_enum_domain_trusts( const char *desc, prs_struct *ps, int depth, DS_Q_ENUM_DOM_TRUSTS *q_u); BOOL ds_io_r_enum_domain_trusts( const char *desc, prs_struct *ps, int depth, DS_R_ENUM_DOM_TRUSTS *r_u); void init_echo_q_add_one(ECHO_Q_ADD_ONE *q_d, unsigned int request); BOOL echo_io_q_add_one(const char *desc, ECHO_Q_ADD_ONE *q_d, prs_struct *ps, int depth); BOOL echo_io_r_add_one(const char *desc, ECHO_R_ADD_ONE *q_d, prs_struct *ps, int depth); void init_echo_q_echo_data(ECHO_Q_ECHO_DATA *q_d, unsigned int size, char *data); BOOL echo_io_q_echo_data(const char *desc, ECHO_Q_ECHO_DATA *q_d, prs_struct *ps, int depth); BOOL echo_io_r_echo_data(const char *desc, ECHO_R_ECHO_DATA *q_d, prs_struct *ps, int depth); void init_echo_q_sink_data(ECHO_Q_SINK_DATA *q_d, unsigned int size, char *data); BOOL echo_io_q_sink_data(const char *desc, ECHO_Q_SINK_DATA *q_d, prs_struct *ps, int depth); BOOL echo_io_r_sink_data(const char *desc, ECHO_R_SINK_DATA *q_d, prs_struct *ps, int depth); void init_echo_q_source_data(ECHO_Q_SOURCE_DATA *q_d, unsigned int size); BOOL echo_io_q_source_data(const char *desc, ECHO_Q_SOURCE_DATA *q_d, prs_struct *ps, int depth); BOOL echo_io_r_source_data(const char *desc, ECHO_R_SOURCE_DATA *q_d, prs_struct *ps, int depth); void init_lsa_trans_name(LSA_TRANS_NAME *trn, UNISTR2 *uni_name, unsigned short sid_name_use, const char *name, unsigned int idx); void init_lsa_sec_qos(LSA_SEC_QOS *qos, unsigned short imp_lev, unsigned char ctxt, unsigned char eff); void init_q_open_pol(LSA_Q_OPEN_POL *r_q, unsigned short system_name, unsigned int attributes, unsigned int desired_access, LSA_SEC_QOS *qos); BOOL lsa_io_q_open_pol(const char *desc, LSA_Q_OPEN_POL *r_q, prs_struct *ps, int depth); BOOL lsa_io_r_open_pol(const char *desc, LSA_R_OPEN_POL *r_p, prs_struct *ps, int depth); void init_q_open_pol2(LSA_Q_OPEN_POL2 *r_q, const char *server_name, unsigned int attributes, unsigned int desired_access, LSA_SEC_QOS *qos); BOOL lsa_io_q_open_pol2(const char *desc, LSA_Q_OPEN_POL2 *r_q, prs_struct *ps, int depth); BOOL lsa_io_r_open_pol2(const char *desc, LSA_R_OPEN_POL2 *r_p, prs_struct *ps, int depth); void init_q_query_sec_obj(LSA_Q_QUERY_SEC_OBJ *q_q, const POLICY_HND *hnd, unsigned int sec_info); BOOL lsa_io_q_query_sec_obj(const char *desc, LSA_Q_QUERY_SEC_OBJ *q_q, prs_struct *ps, int depth); BOOL lsa_io_r_query_sec_obj(const char *desc, LSA_R_QUERY_SEC_OBJ *r_u, prs_struct *ps, int depth); void init_q_query(LSA_Q_QUERY_INFO *q_q, POLICY_HND *hnd, unsigned short info_class); BOOL lsa_io_q_query(const char *desc, LSA_Q_QUERY_INFO *q_q, prs_struct *ps, int depth); BOOL init_q_enum_trust_dom(LSA_Q_ENUM_TRUST_DOM * q_e, POLICY_HND *pol, unsigned int enum_context, unsigned int preferred_len); BOOL lsa_io_q_enum_trust_dom(const char *desc, LSA_Q_ENUM_TRUST_DOM *q_e, prs_struct *ps, int depth); void init_r_enum_trust_dom(TALLOC_CTX *ctx, LSA_R_ENUM_TRUST_DOM *r_e, unsigned int enum_context, unsigned int req_num_domains, unsigned int num_domains, TRUSTDOM **td); BOOL lsa_io_r_enum_trust_dom(const char *desc, LSA_R_ENUM_TRUST_DOM *r_e, prs_struct *ps, int depth); BOOL lsa_io_r_query(const char *desc, LSA_R_QUERY_INFO *r_q, prs_struct *ps, int depth); void init_q_lookup_sids(TALLOC_CTX *mem_ctx, LSA_Q_LOOKUP_SIDS *q_l, POLICY_HND *hnd, int num_sids, DOM_SID *sids, unsigned short level); BOOL lsa_io_q_lookup_sids(const char *desc, LSA_Q_LOOKUP_SIDS *q_s, prs_struct *ps, int depth); BOOL lsa_io_r_lookup_sids(const char *desc, LSA_R_LOOKUP_SIDS *r_s, prs_struct *ps, int depth); void init_q_lookup_names(TALLOC_CTX *mem_ctx, LSA_Q_LOOKUP_NAMES *q_l, POLICY_HND *hnd, int num_names, const char **names); BOOL lsa_io_q_lookup_names(const char *desc, LSA_Q_LOOKUP_NAMES *q_r, prs_struct *ps, int depth); BOOL lsa_io_r_lookup_names(const char *desc, LSA_R_LOOKUP_NAMES *r_r, prs_struct *ps, int depth); void init_lsa_q_close(LSA_Q_CLOSE *q_c, POLICY_HND *hnd); BOOL lsa_io_q_close(const char *desc, LSA_Q_CLOSE *q_c, prs_struct *ps, int depth); BOOL lsa_io_r_close(const char *desc, LSA_R_CLOSE *r_c, prs_struct *ps, int depth); BOOL lsa_io_q_open_secret(const char *desc, LSA_Q_OPEN_SECRET *q_c, prs_struct *ps, int depth); BOOL lsa_io_r_open_secret(const char *desc, LSA_R_OPEN_SECRET *r_c, prs_struct *ps, int depth); void init_q_enum_privs(LSA_Q_ENUM_PRIVS *q_q, POLICY_HND *hnd, unsigned int enum_context, unsigned int pref_max_length); BOOL lsa_io_q_enum_privs(const char *desc, LSA_Q_ENUM_PRIVS *q_q, prs_struct *ps, int depth); void init_lsa_r_enum_privs(LSA_R_ENUM_PRIVS *r_u, unsigned int enum_context, unsigned int count, LSA_PRIV_ENTRY *entries); BOOL lsa_io_r_enum_privs(const char *desc, LSA_R_ENUM_PRIVS *r_q, prs_struct *ps, int depth); void init_lsa_priv_get_dispname(LSA_Q_PRIV_GET_DISPNAME *trn, POLICY_HND *hnd, const char *name, unsigned short lang_id, unsigned short lang_id_sys); BOOL lsa_io_q_priv_get_dispname(const char *desc, LSA_Q_PRIV_GET_DISPNAME *q_q, prs_struct *ps, int depth); BOOL lsa_io_r_priv_get_dispname(const char *desc, LSA_R_PRIV_GET_DISPNAME *r_q, prs_struct *ps, int depth); void init_lsa_q_enum_accounts(LSA_Q_ENUM_ACCOUNTS *trn, POLICY_HND *hnd, unsigned int enum_context, unsigned int pref_max_length); BOOL lsa_io_q_enum_accounts(const char *desc, LSA_Q_ENUM_ACCOUNTS *q_q, prs_struct *ps, int depth); void init_lsa_r_enum_accounts(LSA_R_ENUM_ACCOUNTS *r_u, unsigned int enum_context); BOOL lsa_io_r_enum_accounts(const char *desc, LSA_R_ENUM_ACCOUNTS *r_q, prs_struct *ps, int depth); BOOL lsa_io_q_unk_get_connuser(const char *desc, LSA_Q_UNK_GET_CONNUSER *q_c, prs_struct *ps, int depth); BOOL lsa_io_r_unk_get_connuser(const char *desc, LSA_R_UNK_GET_CONNUSER *r_c, prs_struct *ps, int depth); void init_lsa_q_open_account(LSA_Q_OPENACCOUNT *trn, POLICY_HND *hnd, DOM_SID *sid, unsigned int desired_access); BOOL lsa_io_q_open_account(const char *desc, LSA_Q_OPENACCOUNT *r_c, prs_struct *ps, int depth); BOOL lsa_io_r_open_account(const char *desc, LSA_R_OPENACCOUNT *r_c, prs_struct *ps, int depth); void init_lsa_q_enum_privsaccount(LSA_Q_ENUMPRIVSACCOUNT *trn, POLICY_HND *hnd); BOOL lsa_io_q_enum_privsaccount(const char *desc, LSA_Q_ENUMPRIVSACCOUNT *r_c, prs_struct *ps, int depth); void init_lsa_r_enum_privsaccount(LSA_R_ENUMPRIVSACCOUNT *r_u, LUID_ATTR *set, unsigned int count, unsigned int control); BOOL lsa_io_r_enum_privsaccount(const char *desc, LSA_R_ENUMPRIVSACCOUNT *r_c, prs_struct *ps, int depth); BOOL lsa_io_q_getsystemaccount(const char *desc, LSA_Q_GETSYSTEMACCOUNT *r_c, prs_struct *ps, int depth); BOOL lsa_io_r_getsystemaccount(const char *desc, LSA_R_GETSYSTEMACCOUNT *r_c, prs_struct *ps, int depth); BOOL lsa_io_q_setsystemaccount(const char *desc, LSA_Q_SETSYSTEMACCOUNT *r_c, prs_struct *ps, int depth); BOOL lsa_io_r_setsystemaccount(const char *desc, LSA_R_SETSYSTEMACCOUNT *r_c, prs_struct *ps, int depth); void init_lsa_q_lookupprivvalue(LSA_Q_LOOKUPPRIVVALUE *trn, POLICY_HND *hnd, const char *name); BOOL lsa_io_q_lookupprivvalue(const char *desc, LSA_Q_LOOKUPPRIVVALUE *r_c, prs_struct *ps, int depth); BOOL lsa_io_r_lookupprivvalue(const char *desc, LSA_R_LOOKUPPRIVVALUE *r_c, prs_struct *ps, int depth); BOOL lsa_io_q_addprivs(const char *desc, LSA_Q_ADDPRIVS *r_c, prs_struct *ps, int depth); BOOL lsa_io_r_addprivs(const char *desc, LSA_R_ADDPRIVS *r_c, prs_struct *ps, int depth); BOOL lsa_io_q_removeprivs(const char *desc, LSA_Q_REMOVEPRIVS *r_c, prs_struct *ps, int depth); BOOL lsa_io_r_removeprivs(const char *desc, LSA_R_REMOVEPRIVS *r_c, prs_struct *ps, int depth); BOOL policy_handle_is_valid(const POLICY_HND *hnd); BOOL lsa_io_dns_dom_info(const char *desc, LSA_DNS_DOM_INFO *info, prs_struct *ps, int depth); void init_q_query2(LSA_Q_QUERY_INFO2 *q_q, POLICY_HND *hnd, unsigned short info_class); BOOL lsa_io_q_query_info2(const char *desc, LSA_Q_QUERY_INFO2 *q_c, prs_struct *ps, int depth); BOOL lsa_io_r_query_info2(const char *desc, LSA_R_QUERY_INFO2 *r_c, prs_struct *ps, int depth); void init_q_enum_acct_rights(LSA_Q_ENUM_ACCT_RIGHTS *q_q, POLICY_HND *hnd, unsigned int count, DOM_SID *sid); BOOL lsa_io_q_enum_acct_rights(const char *desc, LSA_Q_ENUM_ACCT_RIGHTS *q_q, prs_struct *ps, int depth); BOOL lsa_io_r_enum_acct_rights(const char *desc, LSA_R_ENUM_ACCT_RIGHTS *r_c, prs_struct *ps, int depth); void init_q_add_acct_rights(LSA_Q_ADD_ACCT_RIGHTS *q_q, POLICY_HND *hnd, DOM_SID *sid, unsigned int count, const char **rights); BOOL lsa_io_q_add_acct_rights(const char *desc, LSA_Q_ADD_ACCT_RIGHTS *q_q, prs_struct *ps, int depth); BOOL lsa_io_r_add_acct_rights(const char *desc, LSA_R_ADD_ACCT_RIGHTS *r_c, prs_struct *ps, int depth); void init_q_remove_acct_rights(LSA_Q_REMOVE_ACCT_RIGHTS *q_q, POLICY_HND *hnd, DOM_SID *sid, unsigned int removeall, unsigned int count, const char **rights); BOOL lsa_io_q_remove_acct_rights(const char *desc, LSA_Q_REMOVE_ACCT_RIGHTS *q_q, prs_struct *ps, int depth); BOOL lsa_io_r_remove_acct_rights(const char *desc, LSA_R_REMOVE_ACCT_RIGHTS *r_c, prs_struct *ps, int depth); TALLOC_CTX *get_current_rpc_talloc(void); void set_current_rpc_talloc( TALLOC_CTX *ctx); void main_loop_talloc_free(void); TALLOC_CTX *main_loop_talloc_get(void); TALLOC_CTX *get_talloc_ctx(void); BOOL smb_io_time(const char *desc, NTTIME *nttime, prs_struct *ps, int depth); BOOL smb_io_lookup_level(const char *desc, LOOKUP_LEVEL *level, prs_struct *ps, int depth); unsigned int get_enum_hnd(ENUM_HND *enh); void init_enum_hnd(ENUM_HND *enh, unsigned int hnd); BOOL smb_io_enum_hnd(const char *desc, ENUM_HND *hnd, prs_struct *ps, int depth); BOOL smb_io_dom_sid(const char *desc, DOM_SID *sid, prs_struct *ps, int depth); void init_dom_sid(DOM_SID *sid, const char *str_sid); void init_dom_sid2(DOM_SID2 *sid2, const DOM_SID *sid); BOOL smb_io_dom_sid2(const char *desc, DOM_SID2 *sid, prs_struct *ps, int depth); void init_str_hdr(STRHDR *hdr, int max_len, int len, unsigned int buffer); BOOL smb_io_strhdr(const char *desc, STRHDR *hdr, prs_struct *ps, int depth); void init_uni_hdr(UNIHDR *hdr, int len); BOOL smb_io_unihdr(const char *desc, UNIHDR *hdr, prs_struct *ps, int depth); void init_buf_hdr(BUFHDR *hdr, int max_len, int len); BOOL smb_io_hdrbuf_pre(const char *desc, BUFHDR *hdr, prs_struct *ps, int depth, unsigned int *offset); BOOL smb_io_hdrbuf_post(const char *desc, BUFHDR *hdr, prs_struct *ps, int depth, unsigned int ptr_hdrbuf, unsigned int max_len, unsigned int len); BOOL smb_io_hdrbuf(const char *desc, BUFHDR *hdr, prs_struct *ps, int depth); void init_uni_hdr2(UNIHDR2 *hdr, int len); BOOL smb_io_unihdr2(const char *desc, UNIHDR2 *hdr2, prs_struct *ps, int depth); void init_unistr(UNISTR *str, const char *buf); BOOL smb_io_unistr(const char *desc, UNISTR *uni, prs_struct *ps, int depth); void init_buffer3_uint32(BUFFER3 *str, unsigned int val); void init_buffer3_str(BUFFER3 *str, const char *buf, int len); void init_buffer3_hex(BUFFER3 *str, const char *buf); void init_buffer3_bytes(BUFFER3 *str, unsigned char *buf, int len); BOOL smb_io_buffer3(const char *desc, BUFFER3 *buf3, prs_struct *ps, int depth); BOOL smb_io_buffer5(const char *desc, BUFFER5 *buf5, prs_struct *ps, int depth); void init_buffer2(BUFFER2 *str, const unsigned char *buf, size_t len); BOOL smb_io_buffer2(const char *desc, BUFFER2 *buf2, unsigned int buffer, prs_struct *ps, int depth); void init_buf_unistr2(UNISTR2 *str, unsigned int *ptr, const char *buf); void copy_unistr2(UNISTR2 *str, const UNISTR2 *from); void init_string2(STRING2 *str, const char *buf, int max_len, int str_len); BOOL smb_io_string2(const char *desc, STRING2 *str2, unsigned int buffer, prs_struct *ps, int depth); void init_unistr2(UNISTR2 *str, const char *buf, size_t len); void init_unistr2_w(TALLOC_CTX *ctx, UNISTR2 *str, const smb_ucs2_t *buf); void init_unistr2_from_unistr (UNISTR2 *to, const UNISTR *from); BOOL smb_io_unistr2(const char *desc, UNISTR2 *uni2, unsigned int buffer, prs_struct *ps, int depth); BOOL init_unistr2_array(UNISTR2_ARRAY *array, unsigned int count, const char **strings); BOOL smb_io_unistr2_array(const char *desc, UNISTR2_ARRAY *array, prs_struct *ps, int depth); void init_dom_rid2(DOM_RID2 *rid2, unsigned int rid, unsigned char type, unsigned int idx); BOOL smb_io_dom_rid2(const char *desc, DOM_RID2 *rid2, prs_struct *ps, int depth); void init_dom_rid3(DOM_RID3 *rid3, unsigned int rid, unsigned char type); BOOL smb_io_dom_rid3(const char *desc, DOM_RID3 *rid3, prs_struct *ps, int depth); void init_dom_rid4(DOM_RID4 *rid4, unsigned short unknown, unsigned short attr, unsigned int rid); void init_log_info(DOM_LOG_INFO *loginfo, const char *logon_srv, const char *acct_name, unsigned short sec_chan, const char *comp_name); BOOL smb_io_log_info(const char *desc, DOM_LOG_INFO *loginfo, prs_struct *ps, int depth); BOOL smb_io_chal(const char *desc, DOM_CHAL *chal, prs_struct *ps, int depth); BOOL smb_io_cred(const char *desc, DOM_CRED *cred, prs_struct *ps, int depth); void init_clnt_info2(DOM_CLNT_INFO2 *clnt, const char *logon_srv, const char *comp_name, const DOM_CRED *clnt_cred); BOOL smb_io_clnt_info2(const char *desc, DOM_CLNT_INFO2 *clnt, prs_struct *ps, int depth); void init_clnt_info(DOM_CLNT_INFO *clnt, const char *logon_srv, const char *acct_name, unsigned short sec_chan, const char *comp_name, const DOM_CRED *cred); BOOL smb_io_clnt_info(const char *desc, DOM_CLNT_INFO *clnt, prs_struct *ps, int depth); void init_logon_id(DOM_LOGON_ID *logonid, unsigned int log_id_low, unsigned int log_id_high); BOOL smb_io_logon_id(const char *desc, DOM_LOGON_ID *logonid, prs_struct *ps, int depth); void init_owf_info(OWF_INFO *hash, const unsigned char data[16]); BOOL smb_io_owf_info(const char *desc, OWF_INFO *hash, prs_struct *ps, int depth); BOOL smb_io_gid(const char *desc, DOM_GID *gid, prs_struct *ps, int depth); BOOL smb_io_pol_hnd(const char *desc, POLICY_HND *pol, prs_struct *ps, int depth); void init_unistr3(UNISTR3 *str, const char *buf); BOOL smb_io_unistr3(const char *desc, UNISTR3 *name, prs_struct *ps, int depth); BOOL prs_uint64(const char *name, prs_struct *ps, int depth, UINT64_S *data64); BOOL smb_io_bufhdr2(const char *desc, BUFHDR2 *hdr, prs_struct *ps, int depth); BOOL smb_io_buffer4(const char *desc, BUFFER4 *buf4, unsigned int buffer, prs_struct *ps, int depth); BOOL make_uni_hdr(UNIHDR *hdr, int len); BOOL make_bufhdr2(BUFHDR2 *hdr, unsigned int info_level, unsigned int length, unsigned int buffer); BOOL net_io_q_logon_ctrl2(const char *desc, NET_Q_LOGON_CTRL2 *q_l, prs_struct *ps, int depth); void init_net_q_logon_ctrl2(NET_Q_LOGON_CTRL2 *q_l, const char *srv_name, unsigned int query_level); void init_net_r_logon_ctrl2(NET_R_LOGON_CTRL2 *r_l, unsigned int query_level, unsigned int flags, unsigned int pdc_status, unsigned int logon_attempts, unsigned int tc_status, const char *trusted_domain_name); BOOL net_io_r_logon_ctrl2(const char *desc, NET_R_LOGON_CTRL2 *r_l, prs_struct *ps, int depth); BOOL net_io_q_logon_ctrl(const char *desc, NET_Q_LOGON_CTRL *q_l, prs_struct *ps, int depth); void init_net_q_logon_ctrl(NET_Q_LOGON_CTRL *q_l, const char *srv_name, unsigned int query_level); void init_net_r_logon_ctrl(NET_R_LOGON_CTRL *r_l, unsigned int query_level, unsigned int flags, unsigned int pdc_status); BOOL net_io_r_logon_ctrl(const char *desc, NET_R_LOGON_CTRL *r_l, prs_struct *ps, int depth); void init_r_trust_dom(NET_R_TRUST_DOM_LIST *r_t, unsigned int num_doms, const char *dom_name); BOOL net_io_r_trust_dom(const char *desc, NET_R_TRUST_DOM_LIST *r_t, prs_struct *ps, int depth); BOOL net_io_q_trust_dom(const char *desc, NET_Q_TRUST_DOM_LIST *q_l, prs_struct *ps, int depth); void init_q_req_chal(NET_Q_REQ_CHAL *q_c, const char *logon_srv, const char *logon_clnt, DOM_CHAL *clnt_chal); BOOL net_io_q_req_chal(const char *desc, NET_Q_REQ_CHAL *q_c, prs_struct *ps, int depth); BOOL net_io_r_req_chal(const char *desc, NET_R_REQ_CHAL *r_c, prs_struct *ps, int depth); BOOL net_io_q_auth(const char *desc, NET_Q_AUTH *q_a, prs_struct *ps, int depth); BOOL net_io_r_auth(const char *desc, NET_R_AUTH *r_a, prs_struct *ps, int depth); void init_q_auth_2(NET_Q_AUTH_2 *q_a, const char *logon_srv, const char *acct_name, unsigned short sec_chan, const char *comp_name, DOM_CHAL *clnt_chal, unsigned int clnt_flgs); BOOL net_io_q_auth_2(const char *desc, NET_Q_AUTH_2 *q_a, prs_struct *ps, int depth); BOOL net_io_r_auth_2(const char *desc, NET_R_AUTH_2 *r_a, prs_struct *ps, int depth); void init_q_auth_3(NET_Q_AUTH_3 *q_a, const char *logon_srv, const char *acct_name, unsigned short sec_chan, const char *comp_name, DOM_CHAL *clnt_chal, unsigned int clnt_flgs); BOOL net_io_q_auth_3(const char *desc, NET_Q_AUTH_3 *q_a, prs_struct *ps, int depth); BOOL net_io_r_auth_3(const char *desc, NET_R_AUTH_3 *r_a, prs_struct *ps, int depth); void init_q_srv_pwset(NET_Q_SRV_PWSET *q_s, const char *logon_srv, const char *sess_key, const char *acct_name, unsigned short sec_chan, const char *comp_name, DOM_CRED *cred, unsigned char hashed_mach_pwd[16]); BOOL net_io_q_srv_pwset(const char *desc, NET_Q_SRV_PWSET *q_s, prs_struct *ps, int depth); BOOL net_io_r_srv_pwset(const char *desc, NET_R_SRV_PWSET *r_s, prs_struct *ps, int depth); void init_id_info1(NET_ID_INFO_1 *id, const char *domain_name, unsigned int param_ctrl, unsigned int log_id_low, unsigned int log_id_high, const char *user_name, const char *wksta_name, const char *sess_key, unsigned char lm_cypher[16], unsigned char nt_cypher[16]); void init_id_info2(NET_ID_INFO_2 * id, const char *domain_name, unsigned int param_ctrl, unsigned int log_id_low, unsigned int log_id_high, const char *user_name, const char *wksta_name, const unsigned char lm_challenge[8], const unsigned char * lm_chal_resp, size_t lm_chal_resp_len, const unsigned char * nt_chal_resp, size_t nt_chal_resp_len); void init_sam_info(DOM_SAM_INFO *sam, const char *logon_srv, const char *comp_name, DOM_CRED *clnt_cred, DOM_CRED *rtn_cred, unsigned short logon_level, NET_ID_INFO_CTR *ctr); void init_net_user_info3(TALLOC_CTX *ctx, NET_USER_INFO_3 *usr, unsigned int user_rid, unsigned int group_rid, const char* user_name, const char* full_name, const char* home_dir, const char* dir_drive, const char* logon_script, const char* profile_path, time_t unix_logon_time, time_t unix_logoff_time, time_t unix_kickoff_time, time_t unix_pass_last_set_time, time_t unix_pass_can_change_time, time_t unix_pass_must_change_time, unsigned short logon_count, unsigned short bad_pw_count, unsigned int num_groups, const DOM_GID *gids, unsigned int user_flgs, unsigned char sess_key[16], const char *logon_srv, const char *logon_dom, const DOM_SID *dom_sid, const char *other_sids); BOOL net_io_user_info3(const char *desc, NET_USER_INFO_3 *usr, prs_struct *ps, int depth, unsigned short validation_level); BOOL net_io_q_sam_logon(const char *desc, NET_Q_SAM_LOGON *q_l, prs_struct *ps, int depth); BOOL net_io_r_sam_logon(const char *desc, NET_R_SAM_LOGON *r_l, prs_struct *ps, int depth); BOOL net_io_q_sam_logoff(const char *desc, NET_Q_SAM_LOGOFF *q_l, prs_struct *ps, int depth); BOOL net_io_r_sam_logoff(const char *desc, NET_R_SAM_LOGOFF *r_l, prs_struct *ps, int depth); BOOL init_net_q_sam_sync(NET_Q_SAM_SYNC * q_s, const char *srv_name, const char *cli_name, DOM_CRED *cli_creds, DOM_CRED *ret_creds, unsigned int database_id, unsigned int next_rid); BOOL net_io_q_sam_sync(const char *desc, NET_Q_SAM_SYNC * q_s, prs_struct *ps, int depth); BOOL make_sam_account_info(SAM_ACCOUNT_INFO * info, const UNISTR2 *user_name, const UNISTR2 *full_name, unsigned int user_rid, unsigned int group_rid, const UNISTR2 *home_dir, const UNISTR2 *dir_drive, const UNISTR2 *log_scr, const UNISTR2 *desc, unsigned int acb_info, const UNISTR2 *prof_path, const UNISTR2 *wkstas, const UNISTR2 *unk_str, const UNISTR2 *mung_dial); BOOL net_io_r_sam_sync(const char *desc, unsigned char sess_key[16], NET_R_SAM_SYNC * r_s, prs_struct *ps, int depth); BOOL init_net_q_sam_deltas(NET_Q_SAM_DELTAS *q_s, const char *srv_name, const char *cli_name, DOM_CRED *cli_creds, unsigned int database_id, UINT64_S dom_mod_count); BOOL net_io_q_sam_deltas(const char *desc, NET_Q_SAM_DELTAS *q_s, prs_struct *ps, int depth); BOOL net_io_r_sam_deltas(const char *desc, unsigned char sess_key[16], NET_R_SAM_DELTAS *r_s, prs_struct *ps, int depth); void prs_dump(char *name, int v, prs_struct *ps); void prs_dump_before(char *name, int v, prs_struct *ps); void prs_dump_region(char *name, int v, prs_struct *ps, int from_off, int to_off); void prs_debug(prs_struct *ps, int depth, const char *desc, const char *fn_name); BOOL prs_init(prs_struct *ps, unsigned int size, TALLOC_CTX *ctx, BOOL io); void prs_mem_free(prs_struct *ps); void prs_mem_clear(prs_struct *ps); char *prs_alloc_mem(prs_struct *ps, size_t size); TALLOC_CTX *prs_get_mem_context(prs_struct *ps); void prs_give_memory(prs_struct *ps, char *buf, unsigned int size, BOOL is_dynamic); char *prs_take_memory(prs_struct *ps, unsigned int *psize); BOOL prs_set_buffer_size(prs_struct *ps, unsigned int newsize); BOOL prs_grow(prs_struct *ps, unsigned int extra_space); BOOL prs_force_grow(prs_struct *ps, unsigned int extra_space); char *prs_data_p(prs_struct *ps); unsigned int prs_data_size(prs_struct *ps); unsigned int prs_offset(prs_struct *ps); BOOL prs_set_offset(prs_struct *ps, unsigned int offset); BOOL prs_append_prs_data(prs_struct *dst, prs_struct *src); BOOL prs_append_some_prs_data(prs_struct *dst, prs_struct *src, int start, unsigned int len); BOOL prs_copy_data_in(prs_struct *dst, char *src, unsigned int len); BOOL prs_copy_data_out(char *dst, prs_struct *src, unsigned int len); BOOL prs_copy_all_data_out(char *dst, prs_struct *src); void prs_set_endian_data(prs_struct *ps, BOOL endian); BOOL prs_align(prs_struct *ps); BOOL prs_align_uint16(prs_struct *ps); BOOL prs_align_uint64(prs_struct *ps); BOOL prs_align_needed(prs_struct *ps, unsigned int needed); char *prs_mem_get(prs_struct *ps, unsigned int extra_size); void prs_switch_type(prs_struct *ps, BOOL io); void prs_force_dynamic(prs_struct *ps); BOOL prs_uint8(const char *name, prs_struct *ps, int depth, unsigned char *data8); BOOL prs_uint16(const char *name, prs_struct *ps, int depth, unsigned short *data16); BOOL prs_uint32(const char *name, prs_struct *ps, int depth, unsigned int *data32); BOOL prs_ntstatus(const char *name, prs_struct *ps, int depth, NTSTATUS *status); BOOL prs_werror(const char *name, prs_struct *ps, int depth, WERROR *status); BOOL prs_uint8s(BOOL charmode, const char *name, prs_struct *ps, int depth, unsigned char *data8s, int len); BOOL prs_uint16s(BOOL charmode, const char *name, prs_struct *ps, int depth, unsigned short *data16s, int len); BOOL prs_uint16uni(BOOL charmode, const char *name, prs_struct *ps, int depth, unsigned short *data16s, int len); BOOL prs_uint32s(BOOL charmode, const char *name, prs_struct *ps, int depth, unsigned int *data32s, int len); BOOL prs_buffer5(BOOL charmode, const char *name, prs_struct *ps, int depth, BUFFER5 *str); BOOL prs_buffer2(BOOL charmode, const char *name, prs_struct *ps, int depth, BUFFER2 *str); BOOL prs_string2(BOOL charmode, const char *name, prs_struct *ps, int depth, STRING2 *str); BOOL prs_unistr2(BOOL charmode, const char *name, prs_struct *ps, int depth, UNISTR2 *str); BOOL prs_unistr3(BOOL charmode, const char *name, UNISTR3 *str, prs_struct *ps, int depth); BOOL prs_unistr(const char *name, prs_struct *ps, int depth, UNISTR *str); BOOL prs_string(const char *name, prs_struct *ps, int depth, char *str, int max_buf_size); BOOL prs_uint16_pre(const char *name, prs_struct *ps, int depth, unsigned short *data16, unsigned int *offset); BOOL prs_uint16_post(const char *name, prs_struct *ps, int depth, unsigned short *data16, unsigned int ptr_uint16, unsigned int start_offset); BOOL prs_uint32_pre(const char *name, prs_struct *ps, int depth, unsigned int *data32, unsigned int *offset); BOOL prs_uint32_post(const char *name, prs_struct *ps, int depth, unsigned int *data32, unsigned int ptr_uint32, unsigned int data_size); int tdb_prs_store(TDB_CONTEXT *tdb, char *keystr, prs_struct *ps); int tdb_prs_fetch(TDB_CONTEXT *tdb, char *keystr, prs_struct *ps, TALLOC_CTX *mem_ctx); BOOL prs_hash1(prs_struct *ps, unsigned int offset, unsigned char sess_key[16], int len); void netsec_encode(struct netsec_auth_struct *a, int auth_flags, enum netsec_direction direction, RPC_AUTH_NETSEC_CHK * verf, char *data, size_t data_len); BOOL netsec_decode(struct netsec_auth_struct *a, int auth_flags, enum netsec_direction direction, RPC_AUTH_NETSEC_CHK * verf, char *data, size_t data_len); void init_reg_q_open_hkcr(REG_Q_OPEN_HKCR *q_o, unsigned short unknown_0, unsigned int level); BOOL reg_io_q_open_hkcr(const char *desc, REG_Q_OPEN_HKCR *r_q, prs_struct *ps, int depth); BOOL reg_io_r_open_hkcr(const char *desc, REG_R_OPEN_HKCR *r_r, prs_struct *ps, int depth); void init_reg_q_open_hklm(REG_Q_OPEN_HKLM * q_o, unsigned short unknown_0, unsigned int access_mask); BOOL reg_io_q_open_hklm(const char *desc, REG_Q_OPEN_HKLM * r_q, prs_struct *ps, int depth); BOOL reg_io_r_open_hklm(const char *desc, REG_R_OPEN_HKLM * r_r, prs_struct *ps, int depth); void init_reg_q_flush_key(REG_Q_FLUSH_KEY *q_u, POLICY_HND *pol); BOOL reg_io_q_flush_key(const char *desc, REG_Q_FLUSH_KEY *r_q, prs_struct *ps, int depth); BOOL reg_io_r_flush_key(const char *desc, REG_R_FLUSH_KEY *r_r, prs_struct *ps, int depth); void init_reg_q_create_key(REG_Q_CREATE_KEY *q_c, POLICY_HND *hnd, char *name, char *class, SEC_ACCESS *sam_access, SEC_DESC_BUF *sec_buf); BOOL reg_io_q_create_key(const char *desc, REG_Q_CREATE_KEY *r_q, prs_struct *ps, int depth); BOOL reg_io_r_create_key(const char *desc, REG_R_CREATE_KEY *r_r, prs_struct *ps, int depth); void init_reg_q_delete_val(REG_Q_DELETE_VALUE *q_c, POLICY_HND *hnd, char *name); BOOL reg_io_q_delete_val(const char *desc, REG_Q_DELETE_VALUE *r_q, prs_struct *ps, int depth); BOOL reg_io_r_delete_val(const char *desc, REG_R_DELETE_VALUE *r_r, prs_struct *ps, int depth); void init_reg_q_delete_key(REG_Q_DELETE_KEY *q_c, POLICY_HND *hnd, char *name); BOOL reg_io_q_delete_key(const char *desc, REG_Q_DELETE_KEY *r_q, prs_struct *ps, int depth); BOOL reg_io_r_delete_key(const char *desc, REG_R_DELETE_KEY *r_r, prs_struct *ps, int depth); void init_reg_q_query_key(REG_Q_QUERY_KEY *q_o, POLICY_HND *hnd, unsigned int max_class_len); BOOL reg_io_q_query_key(const char *desc, REG_Q_QUERY_KEY *r_q, prs_struct *ps, int depth); BOOL reg_io_r_query_key(const char *desc, REG_R_QUERY_KEY *r_r, prs_struct *ps, int depth); void init_reg_q_unknown_1a(REG_Q_UNKNOWN_1A *q_o, POLICY_HND *hnd); BOOL reg_io_q_unknown_1a(const char *desc, REG_Q_UNKNOWN_1A *r_q, prs_struct *ps, int depth); BOOL reg_io_r_unknown_1a(const char *desc, REG_R_UNKNOWN_1A *r_r, prs_struct *ps, int depth); BOOL reg_io_q_save_key(const char *desc, REG_Q_SAVE_KEY *r_q, prs_struct *ps, int depth); BOOL reg_io_r_save_key(const char *desc, REG_R_SAVE_KEY *r_r, prs_struct *ps, int depth); void init_reg_q_open_hku(REG_Q_OPEN_HKU *q_o, unsigned short unknown_0, unsigned int access_mask); BOOL reg_io_q_open_hku(const char *desc, REG_Q_OPEN_HKU *r_q, prs_struct *ps, int depth); BOOL reg_io_r_open_hku(const char *desc, REG_R_OPEN_HKU *r_r, prs_struct *ps, int depth); void init_reg_q_close(REG_Q_CLOSE *q_c, POLICY_HND *hnd); BOOL reg_io_q_close(const char *desc, REG_Q_CLOSE *q_u, prs_struct *ps, int depth); BOOL reg_io_r_close(const char *desc, REG_R_CLOSE *r_u, prs_struct *ps, int depth); void init_reg_q_set_key_sec(REG_Q_SET_KEY_SEC *q_i, POLICY_HND *pol, SEC_DESC_BUF *sec_desc_buf); BOOL reg_io_q_set_key_sec(const char *desc, REG_Q_SET_KEY_SEC *r_q, prs_struct *ps, int depth); BOOL reg_io_r_set_key_sec(const char *desc, REG_R_SET_KEY_SEC *r_q, prs_struct *ps, int depth); void init_reg_q_get_key_sec(REG_Q_GET_KEY_SEC *q_i, POLICY_HND *pol, unsigned int sec_buf_size, SEC_DESC_BUF *psdb); BOOL reg_io_q_get_key_sec(const char *desc, REG_Q_GET_KEY_SEC *r_q, prs_struct *ps, int depth); BOOL reg_io_r_get_key_sec(const char *desc, REG_R_GET_KEY_SEC *r_q, prs_struct *ps, int depth); BOOL init_reg_q_info(REG_Q_INFO *q_i, POLICY_HND *pol, char* val_name); BOOL reg_io_q_info(const char *desc, REG_Q_INFO *r_q, prs_struct *ps, int depth); BOOL new_init_reg_r_info(unsigned int include_keyval, REG_R_INFO *r_r, REGISTRY_VALUE *val, NTSTATUS status); BOOL init_reg_r_info(unsigned int include_keyval, REG_R_INFO *r_r, BUFFER2* buf, unsigned int type, NTSTATUS status); BOOL reg_io_r_info(const char *desc, REG_R_INFO *r_r, prs_struct *ps, int depth); void init_reg_q_enum_val(REG_Q_ENUM_VALUE *q_i, POLICY_HND *pol, unsigned int val_idx, unsigned int max_val_len, unsigned int max_buf_len); void init_reg_r_enum_val(REG_R_ENUM_VALUE *r_u, REGISTRY_VALUE *val ); BOOL reg_io_q_enum_val(const char *desc, REG_Q_ENUM_VALUE *q_q, prs_struct *ps, int depth); BOOL reg_io_r_enum_val(const char *desc, REG_R_ENUM_VALUE *r_q, prs_struct *ps, int depth); void init_reg_q_create_val(REG_Q_CREATE_VALUE *q_i, POLICY_HND *pol, char *val_name, unsigned int type, BUFFER3 *val); BOOL reg_io_q_create_val(const char *desc, REG_Q_CREATE_VALUE *q_q, prs_struct *ps, int depth); BOOL reg_io_r_create_val(const char *desc, REG_R_CREATE_VALUE *r_q, prs_struct *ps, int depth); void init_reg_q_enum_key(REG_Q_ENUM_KEY *q_i, POLICY_HND *pol, unsigned int key_idx); void init_reg_r_enum_key(REG_R_ENUM_KEY *r_u, char *subkey, unsigned int unknown_1, unsigned int unknown_2); BOOL reg_io_q_enum_key(const char *desc, REG_Q_ENUM_KEY *q_q, prs_struct *ps, int depth); BOOL reg_io_r_enum_key(const char *desc, REG_R_ENUM_KEY *r_q, prs_struct *ps, int depth); void init_reg_q_open_entry(REG_Q_OPEN_ENTRY *r_q, POLICY_HND *pol, char *key_name, unsigned int access_desired); BOOL reg_io_q_open_entry(const char *desc, REG_Q_OPEN_ENTRY *r_q, prs_struct *ps, int depth); void init_reg_r_open_entry(REG_R_OPEN_ENTRY *r_r, POLICY_HND *pol, NTSTATUS status); BOOL reg_io_r_open_entry(const char *desc, REG_R_OPEN_ENTRY *r_r, prs_struct *ps, int depth); void init_reg_q_shutdown(REG_Q_SHUTDOWN * q_s, const char *msg, unsigned int timeout, BOOL do_reboot, BOOL force); BOOL reg_io_q_shutdown(const char *desc, REG_Q_SHUTDOWN * q_s, prs_struct *ps, int depth); BOOL reg_io_r_shutdown(const char *desc, REG_R_SHUTDOWN * r_s, prs_struct *ps, int depth); void init_reg_q_abort_shutdown(REG_Q_ABORT_SHUTDOWN * q_s); BOOL reg_io_q_abort_shutdown(const char *desc, REG_Q_ABORT_SHUTDOWN * q_s, prs_struct *ps, int depth); BOOL reg_io_r_abort_shutdown(const char *desc, REG_R_ABORT_SHUTDOWN * r_s, prs_struct *ps, int depth); void init_rpc_hdr(RPC_HDR *hdr, enum RPC_PKT_TYPE pkt_type, unsigned char flags, unsigned int call_id, int data_len, int auth_len); BOOL smb_io_rpc_hdr(const char *desc, RPC_HDR *rpc, prs_struct *ps, int depth); void init_rpc_hdr_rb(RPC_HDR_RB *rpc, unsigned short max_tsize, unsigned short max_rsize, unsigned int assoc_gid, unsigned int num_elements, unsigned short context_id, unsigned char num_syntaxes, RPC_IFACE *abstract, RPC_IFACE *transfer); BOOL smb_io_rpc_hdr_rb(const char *desc, RPC_HDR_RB *rpc, prs_struct *ps, int depth); void init_rpc_hdr_ba(RPC_HDR_BA *rpc, unsigned short max_tsize, unsigned short max_rsize, unsigned int assoc_gid, const char *pipe_addr, unsigned char num_results, unsigned short result, unsigned short reason, RPC_IFACE *transfer); BOOL smb_io_rpc_hdr_ba(const char *desc, RPC_HDR_BA *rpc, prs_struct *ps, int depth); void init_rpc_hdr_req(RPC_HDR_REQ *hdr, unsigned int alloc_hint, unsigned short opnum); BOOL smb_io_rpc_hdr_req(const char *desc, RPC_HDR_REQ *rpc, prs_struct *ps, int depth); BOOL smb_io_rpc_hdr_resp(const char *desc, RPC_HDR_RESP *rpc, prs_struct *ps, int depth); BOOL smb_io_rpc_hdr_fault(const char *desc, RPC_HDR_FAULT *rpc, prs_struct *ps, int depth); void init_rpc_hdr_autha(RPC_HDR_AUTHA *rai, unsigned short max_tsize, unsigned short max_rsize, unsigned char auth_type, unsigned char auth_level, unsigned char stub_type_len); BOOL smb_io_rpc_hdr_autha(const char *desc, RPC_HDR_AUTHA *rai, prs_struct *ps, int depth); void init_rpc_hdr_auth(RPC_HDR_AUTH *rai, unsigned char auth_type, unsigned char auth_level, unsigned char padding, unsigned int ptr); BOOL smb_io_rpc_hdr_auth(const char *desc, RPC_HDR_AUTH *rai, prs_struct *ps, int depth); BOOL rpc_auth_verifier_chk(RPC_AUTH_VERIFIER *rav, const char *signature, unsigned int msg_type); void init_rpc_auth_verifier(RPC_AUTH_VERIFIER *rav, const char *signature, unsigned int msg_type); BOOL smb_io_rpc_auth_verifier(const char *desc, RPC_AUTH_VERIFIER *rav, prs_struct *ps, int depth); BOOL smb_io_rpc_netsec_verifier(const char *desc, RPC_AUTH_VERIFIER *rav, prs_struct *ps, int depth); void init_rpc_auth_ntlmssp_neg(RPC_AUTH_NTLMSSP_NEG *neg, unsigned int neg_flgs, const char *myname, const char *domain); BOOL smb_io_rpc_auth_ntlmssp_neg(const char *desc, RPC_AUTH_NTLMSSP_NEG *neg, prs_struct *ps, int depth); void init_rpc_auth_ntlmssp_chal(RPC_AUTH_NTLMSSP_CHAL *chl, unsigned int neg_flags, unsigned char challenge[8]); BOOL smb_io_rpc_auth_ntlmssp_chal(const char *desc, RPC_AUTH_NTLMSSP_CHAL *chl, prs_struct *ps, int depth); void init_rpc_auth_ntlmssp_resp(RPC_AUTH_NTLMSSP_RESP *rsp, unsigned char lm_resp[24], unsigned char nt_resp[24], const char *domain, const char *user, const char *wks, unsigned int neg_flags); BOOL smb_io_rpc_auth_ntlmssp_resp(const char *desc, RPC_AUTH_NTLMSSP_RESP *rsp, prs_struct *ps, int depth); BOOL rpc_auth_ntlmssp_chk(RPC_AUTH_NTLMSSP_CHK *chk, unsigned int crc32, unsigned int seq_num); void init_rpc_auth_ntlmssp_chk(RPC_AUTH_NTLMSSP_CHK *chk, unsigned int ver, unsigned int crc32, unsigned int seq_num); BOOL smb_io_rpc_auth_ntlmssp_chk(const char *desc, RPC_AUTH_NTLMSSP_CHK *chk, prs_struct *ps, int depth); void init_rpc_auth_netsec_neg(RPC_AUTH_NETSEC_NEG *neg, const char *domain, const char *myname); BOOL smb_io_rpc_auth_netsec_neg(const char *desc, RPC_AUTH_NETSEC_NEG *neg, prs_struct *ps, int depth); BOOL init_rpc_auth_netsec_chk(RPC_AUTH_NETSEC_CHK * chk, const unsigned char sig[8], const unsigned char packet_digest[8], const unsigned char seq_num[8], const unsigned char data8[8]); BOOL smb_io_rpc_auth_netsec_chk(const char *desc, RPC_AUTH_NETSEC_CHK * chk, prs_struct *ps, int depth); void init_samr_q_close_hnd(SAMR_Q_CLOSE_HND * q_c, POLICY_HND *hnd); BOOL samr_io_q_close_hnd(const char *desc, SAMR_Q_CLOSE_HND * q_u, prs_struct *ps, int depth); BOOL samr_io_r_close_hnd(const char *desc, SAMR_R_CLOSE_HND * r_u, prs_struct *ps, int depth); void init_samr_q_lookup_domain(SAMR_Q_LOOKUP_DOMAIN * q_u, POLICY_HND *pol, char *dom_name); BOOL samr_io_q_lookup_domain(const char *desc, SAMR_Q_LOOKUP_DOMAIN * q_u, prs_struct *ps, int depth); void init_samr_r_lookup_domain(SAMR_R_LOOKUP_DOMAIN * r_u, DOM_SID *dom_sid, NTSTATUS status); BOOL samr_io_r_lookup_domain(const char *desc, SAMR_R_LOOKUP_DOMAIN * r_u, prs_struct *ps, int depth); void init_samr_q_remove_user_foreign_domain(SAMR_Q_REMOVE_USER_FOREIGN_DOMAIN * q_u, POLICY_HND *dom_pol, DOM_SID *sid); BOOL samr_io_q_remove_user_foreign_domain(const char *desc, SAMR_Q_REMOVE_USER_FOREIGN_DOMAIN * q_u, prs_struct *ps, int depth); BOOL samr_io_r_remove_user_foreign_domain(const char *desc, SAMR_R_REMOVE_USER_FOREIGN_DOMAIN * r_u, prs_struct *ps, int depth); void init_samr_q_open_domain(SAMR_Q_OPEN_DOMAIN * q_u, POLICY_HND *pol, unsigned int flags, const DOM_SID *sid); BOOL samr_io_q_open_domain(const char *desc, SAMR_Q_OPEN_DOMAIN * q_u, prs_struct *ps, int depth); BOOL samr_io_r_open_domain(const char *desc, SAMR_R_OPEN_DOMAIN * r_u, prs_struct *ps, int depth); void init_samr_q_get_usrdom_pwinfo(SAMR_Q_GET_USRDOM_PWINFO * q_u, POLICY_HND *user_pol); BOOL samr_io_q_get_usrdom_pwinfo(const char *desc, SAMR_Q_GET_USRDOM_PWINFO * q_u, prs_struct *ps, int depth); void init_samr_r_get_usrdom_pwinfo(SAMR_R_GET_USRDOM_PWINFO *r_u, NTSTATUS status); BOOL samr_io_r_get_usrdom_pwinfo(const char *desc, SAMR_R_GET_USRDOM_PWINFO * r_u, prs_struct *ps, int depth); BOOL samr_io_q_set_sec_obj(const char *desc, SAMR_Q_SET_SEC_OBJ * q_u, prs_struct *ps, int depth); void init_samr_q_query_sec_obj(SAMR_Q_QUERY_SEC_OBJ * q_u, POLICY_HND *user_pol, unsigned int sec_info); BOOL samr_io_q_query_sec_obj(const char *desc, SAMR_Q_QUERY_SEC_OBJ * q_u, prs_struct *ps, int depth); void init_samr_q_query_dom_info(SAMR_Q_QUERY_DOMAIN_INFO * q_u, POLICY_HND *domain_pol, unsigned short switch_value); BOOL samr_io_q_query_dom_info(const char *desc, SAMR_Q_QUERY_DOMAIN_INFO * q_u, prs_struct *ps, int depth); void init_unk_info3(SAM_UNK_INFO_3 *u_3, NTTIME nt_logout); void init_unk_info6(SAM_UNK_INFO_6 * u_6); void init_unk_info7(SAM_UNK_INFO_7 * u_7); void init_unk_info12(SAM_UNK_INFO_12 * u_12, NTTIME nt_lock_duration, NTTIME nt_reset_time, unsigned short lockout); void init_unk_info5(SAM_UNK_INFO_5 * u_5,const char *server); void init_unk_info2(SAM_UNK_INFO_2 * u_2, const char *domain, const char *server, unsigned int seq_num, unsigned int num_users, unsigned int num_groups, unsigned int num_alias); void init_unk_info1(SAM_UNK_INFO_1 *u_1, unsigned short min_pass_len, unsigned short pass_hist, unsigned int flag, NTTIME nt_expire, NTTIME nt_min_age); void init_samr_r_query_dom_info(SAMR_R_QUERY_DOMAIN_INFO * r_u, unsigned short switch_value, SAM_UNK_CTR * ctr, NTSTATUS status); BOOL samr_io_r_query_dom_info(const char *desc, SAMR_R_QUERY_DOMAIN_INFO * r_u, prs_struct *ps, int depth); BOOL samr_io_r_set_sec_obj(const char *desc, SAMR_R_SET_SEC_OBJ * r_u, prs_struct *ps, int depth); BOOL samr_io_r_query_sec_obj(const char *desc, SAMR_R_QUERY_SEC_OBJ * r_u, prs_struct *ps, int depth); void init_sam_entry(SAM_ENTRY * sam, unsigned int len_sam_name, unsigned int rid); void init_samr_q_enum_dom_users(SAMR_Q_ENUM_DOM_USERS * q_e, POLICY_HND *pol, unsigned int start_idx, unsigned short acb_mask, unsigned short unk_1, unsigned int size); BOOL samr_io_q_enum_dom_users(const char *desc, SAMR_Q_ENUM_DOM_USERS * q_e, prs_struct *ps, int depth); void init_samr_r_enum_dom_users(SAMR_R_ENUM_DOM_USERS * r_u, unsigned int next_idx, unsigned int num_sam_entries); BOOL samr_io_r_enum_dom_users(const char *desc, SAMR_R_ENUM_DOM_USERS * r_u, prs_struct *ps, int depth); void init_samr_q_query_dispinfo(SAMR_Q_QUERY_DISPINFO * q_e, POLICY_HND *pol, unsigned short switch_level, unsigned int start_idx, unsigned int max_entries, unsigned int max_size); BOOL samr_io_q_query_dispinfo(const char *desc, SAMR_Q_QUERY_DISPINFO * q_e, prs_struct *ps, int depth); NTSTATUS init_sam_dispinfo_1(TALLOC_CTX *ctx, SAM_DISPINFO_1 *sam, unsigned int num_entries, unsigned int start_idx, SAM_ACCOUNT *disp_user_info, DOM_SID *domain_sid); NTSTATUS init_sam_dispinfo_2(TALLOC_CTX *ctx, SAM_DISPINFO_2 *sam, unsigned int num_entries, unsigned int start_idx, SAM_ACCOUNT *disp_user_info, DOM_SID *domain_sid ); NTSTATUS init_sam_dispinfo_3(TALLOC_CTX *ctx, SAM_DISPINFO_3 *sam, unsigned int num_entries, unsigned int start_idx, DOMAIN_GRP *disp_group_info); NTSTATUS init_sam_dispinfo_4(TALLOC_CTX *ctx, SAM_DISPINFO_4 *sam, unsigned int num_entries, unsigned int start_idx, SAM_ACCOUNT *disp_user_info); NTSTATUS init_sam_dispinfo_5(TALLOC_CTX *ctx, SAM_DISPINFO_5 *sam, unsigned int num_entries, unsigned int start_idx, DOMAIN_GRP *disp_group_info); void init_samr_r_query_dispinfo(SAMR_R_QUERY_DISPINFO * r_u, unsigned int num_entries, unsigned int total_size, unsigned int data_size, unsigned short switch_level, SAM_DISPINFO_CTR * ctr, NTSTATUS status); BOOL samr_io_r_query_dispinfo(const char *desc, SAMR_R_QUERY_DISPINFO * r_u, prs_struct *ps, int depth); void init_samr_q_open_group(SAMR_Q_OPEN_GROUP * q_c, POLICY_HND *hnd, unsigned int access_mask, unsigned int rid); BOOL samr_io_q_open_group(const char *desc, SAMR_Q_OPEN_GROUP * q_u, prs_struct *ps, int depth); BOOL samr_io_r_open_group(const char *desc, SAMR_R_OPEN_GROUP * r_u, prs_struct *ps, int depth); void init_samr_group_info1(GROUP_INFO1 * gr1, char *acct_name, char *acct_desc, unsigned int num_members); BOOL samr_io_group_info1(const char *desc, GROUP_INFO1 * gr1, prs_struct *ps, int depth); void init_samr_group_info3(GROUP_INFO3 *gr3); BOOL samr_io_group_info3(const char *desc, GROUP_INFO3 *gr3, prs_struct *ps, int depth); void init_samr_group_info4(GROUP_INFO4 * gr4, char *acct_desc); BOOL samr_io_group_info4(const char *desc, GROUP_INFO4 * gr4, prs_struct *ps, int depth); void init_samr_q_create_dom_group(SAMR_Q_CREATE_DOM_GROUP * q_e, POLICY_HND *pol, char *acct_desc, unsigned int access_mask); BOOL samr_io_q_create_dom_group(const char *desc, SAMR_Q_CREATE_DOM_GROUP * q_e, prs_struct *ps, int depth); BOOL samr_io_r_create_dom_group(const char *desc, SAMR_R_CREATE_DOM_GROUP * r_u, prs_struct *ps, int depth); void init_samr_q_delete_dom_group(SAMR_Q_DELETE_DOM_GROUP * q_c, POLICY_HND *hnd); BOOL samr_io_q_delete_dom_group(const char *desc, SAMR_Q_DELETE_DOM_GROUP * q_u, prs_struct *ps, int depth); BOOL samr_io_r_delete_dom_group(const char *desc, SAMR_R_DELETE_DOM_GROUP * r_u, prs_struct *ps, int depth); void init_samr_q_del_groupmem(SAMR_Q_DEL_GROUPMEM * q_e, POLICY_HND *pol, unsigned int rid); BOOL samr_io_q_del_groupmem(const char *desc, SAMR_Q_DEL_GROUPMEM * q_e, prs_struct *ps, int depth); void init_samr_r_del_groupmem(SAMR_R_DEL_GROUPMEM * r_u, POLICY_HND *pol, NTSTATUS status); BOOL samr_io_r_del_groupmem(const char *desc, SAMR_R_DEL_GROUPMEM * r_u, prs_struct *ps, int depth); void init_samr_q_add_groupmem(SAMR_Q_ADD_GROUPMEM * q_e, POLICY_HND *pol, unsigned int rid); BOOL samr_io_q_add_groupmem(const char *desc, SAMR_Q_ADD_GROUPMEM * q_e, prs_struct *ps, int depth); void init_samr_r_add_groupmem(SAMR_R_ADD_GROUPMEM * r_u, POLICY_HND *pol, NTSTATUS status); BOOL samr_io_r_add_groupmem(const char *desc, SAMR_R_ADD_GROUPMEM * r_u, prs_struct *ps, int depth); void init_samr_q_set_groupinfo(SAMR_Q_SET_GROUPINFO * q_e, POLICY_HND *pol, GROUP_INFO_CTR * ctr); BOOL samr_io_q_set_groupinfo(const char *desc, SAMR_Q_SET_GROUPINFO * q_e, prs_struct *ps, int depth); void init_samr_r_set_groupinfo(SAMR_R_SET_GROUPINFO * r_u, NTSTATUS status); BOOL samr_io_r_set_groupinfo(const char *desc, SAMR_R_SET_GROUPINFO * r_u, prs_struct *ps, int depth); void init_samr_q_query_groupinfo(SAMR_Q_QUERY_GROUPINFO * q_e, POLICY_HND *pol, unsigned short switch_level); BOOL samr_io_q_query_groupinfo(const char *desc, SAMR_Q_QUERY_GROUPINFO * q_e, prs_struct *ps, int depth); void init_samr_r_query_groupinfo(SAMR_R_QUERY_GROUPINFO * r_u, GROUP_INFO_CTR * ctr, NTSTATUS status); BOOL samr_io_r_query_groupinfo(const char *desc, SAMR_R_QUERY_GROUPINFO * r_u, prs_struct *ps, int depth); void init_samr_q_query_groupmem(SAMR_Q_QUERY_GROUPMEM * q_c, POLICY_HND *hnd); BOOL samr_io_q_query_groupmem(const char *desc, SAMR_Q_QUERY_GROUPMEM * q_u, prs_struct *ps, int depth); void init_samr_r_query_groupmem(SAMR_R_QUERY_GROUPMEM * r_u, unsigned int num_entries, unsigned int *rid, unsigned int *attr, NTSTATUS status); BOOL samr_io_r_query_groupmem(const char *desc, SAMR_R_QUERY_GROUPMEM * r_u, prs_struct *ps, int depth); void init_samr_q_query_usergroups(SAMR_Q_QUERY_USERGROUPS * q_u, POLICY_HND *hnd); BOOL samr_io_q_query_usergroups(const char *desc, SAMR_Q_QUERY_USERGROUPS * q_u, prs_struct *ps, int depth); void init_samr_r_query_usergroups(SAMR_R_QUERY_USERGROUPS * r_u, unsigned int num_gids, DOM_GID * gid, NTSTATUS status); BOOL samr_io_gids(const char *desc, unsigned int *num_gids, DOM_GID ** gid, prs_struct *ps, int depth); BOOL samr_io_r_query_usergroups(const char *desc, SAMR_R_QUERY_USERGROUPS * r_u, prs_struct *ps, int depth); void init_samr_q_enum_domains(SAMR_Q_ENUM_DOMAINS * q_e, POLICY_HND *pol, unsigned int start_idx, unsigned int size); BOOL samr_io_q_enum_domains(const char *desc, SAMR_Q_ENUM_DOMAINS * q_e, prs_struct *ps, int depth); void init_samr_r_enum_domains(SAMR_R_ENUM_DOMAINS * r_u, unsigned int next_idx, unsigned int num_sam_entries); BOOL samr_io_r_enum_domains(const char *desc, SAMR_R_ENUM_DOMAINS * r_u, prs_struct *ps, int depth); void init_samr_q_enum_dom_groups(SAMR_Q_ENUM_DOM_GROUPS * q_e, POLICY_HND *pol, unsigned int start_idx, unsigned int size); BOOL samr_io_q_enum_dom_groups(const char *desc, SAMR_Q_ENUM_DOM_GROUPS * q_e, prs_struct *ps, int depth); void init_samr_r_enum_dom_groups(SAMR_R_ENUM_DOM_GROUPS * r_u, unsigned int next_idx, unsigned int num_sam_entries); BOOL samr_io_r_enum_dom_groups(const char *desc, SAMR_R_ENUM_DOM_GROUPS * r_u, prs_struct *ps, int depth); void init_samr_q_enum_dom_aliases(SAMR_Q_ENUM_DOM_ALIASES * q_e, POLICY_HND *pol, unsigned int start_idx, unsigned int size); BOOL samr_io_q_enum_dom_aliases(const char *desc, SAMR_Q_ENUM_DOM_ALIASES * q_e, prs_struct *ps, int depth); void init_samr_r_enum_dom_aliases(SAMR_R_ENUM_DOM_ALIASES *r_u, unsigned int next_idx, unsigned int num_sam_entries); BOOL samr_io_r_enum_dom_aliases(const char *desc, SAMR_R_ENUM_DOM_ALIASES * r_u, prs_struct *ps, int depth); void init_samr_alias_info1(ALIAS_INFO1 * al1, char *acct_name, unsigned int num_member, char *acct_desc); BOOL samr_io_alias_info1(const char *desc, ALIAS_INFO1 * al1, prs_struct *ps, int depth); void init_samr_alias_info3(ALIAS_INFO3 * al3, char *acct_desc); BOOL samr_io_alias_info3(const char *desc, ALIAS_INFO3 * al3, prs_struct *ps, int depth); BOOL samr_alias_info_ctr(const char *desc, ALIAS_INFO_CTR * ctr, prs_struct *ps, int depth); void init_samr_q_query_aliasinfo(SAMR_Q_QUERY_ALIASINFO * q_e, POLICY_HND *pol, unsigned short switch_level); BOOL samr_io_q_query_aliasinfo(const char *desc, SAMR_Q_QUERY_ALIASINFO * q_e, prs_struct *ps, int depth); void init_samr_r_query_aliasinfo(SAMR_R_QUERY_ALIASINFO * r_u, ALIAS_INFO_CTR * ctr, NTSTATUS status); BOOL samr_io_r_query_aliasinfo(const char *desc, SAMR_R_QUERY_ALIASINFO * r_u, prs_struct *ps, int depth); void init_samr_q_set_aliasinfo(SAMR_Q_SET_ALIASINFO * q_u, POLICY_HND *hnd, ALIAS_INFO_CTR * ctr); BOOL samr_io_q_set_aliasinfo(const char *desc, SAMR_Q_SET_ALIASINFO * q_u, prs_struct *ps, int depth); BOOL samr_io_r_set_aliasinfo(const char *desc, SAMR_R_SET_ALIASINFO * r_u, prs_struct *ps, int depth); void init_samr_q_query_useraliases(SAMR_Q_QUERY_USERALIASES * q_u, POLICY_HND *hnd, unsigned int num_sids, unsigned int *ptr_sid, DOM_SID2 * sid); BOOL samr_io_q_query_useraliases(const char *desc, SAMR_Q_QUERY_USERALIASES * q_u, prs_struct *ps, int depth); void init_samr_r_query_useraliases(SAMR_R_QUERY_USERALIASES * r_u, unsigned int num_rids, unsigned int *rid, NTSTATUS status); BOOL samr_io_rids(const char *desc, unsigned int *num_rids, unsigned int **rid, prs_struct *ps, int depth); BOOL samr_io_r_query_useraliases(const char *desc, SAMR_R_QUERY_USERALIASES * r_u, prs_struct *ps, int depth); void init_samr_q_open_alias(SAMR_Q_OPEN_ALIAS * q_u, POLICY_HND *pol, unsigned int access_mask, unsigned int rid); BOOL samr_io_q_open_alias(const char *desc, SAMR_Q_OPEN_ALIAS * q_u, prs_struct *ps, int depth); BOOL samr_io_r_open_alias(const char *desc, SAMR_R_OPEN_ALIAS * r_u, prs_struct *ps, int depth); void init_samr_q_lookup_rids(TALLOC_CTX *ctx, SAMR_Q_LOOKUP_RIDS * q_u, POLICY_HND *pol, unsigned int flags, unsigned int num_rids, unsigned int *rid); BOOL samr_io_q_lookup_rids(const char *desc, SAMR_Q_LOOKUP_RIDS * q_u, prs_struct *ps, int depth); void init_samr_r_lookup_rids(SAMR_R_LOOKUP_RIDS * r_u, unsigned int num_names, UNIHDR * hdr_name, UNISTR2 *uni_name, unsigned int *type); BOOL samr_io_r_lookup_rids(const char *desc, SAMR_R_LOOKUP_RIDS * r_u, prs_struct *ps, int depth); void init_samr_q_delete_alias(SAMR_Q_DELETE_DOM_ALIAS * q_u, POLICY_HND *hnd); BOOL samr_io_q_delete_alias(const char *desc, SAMR_Q_DELETE_DOM_ALIAS * q_u, prs_struct *ps, int depth); BOOL samr_io_r_delete_alias(const char *desc, SAMR_R_DELETE_DOM_ALIAS * r_u, prs_struct *ps, int depth); void init_samr_q_create_dom_alias(SAMR_Q_CREATE_DOM_ALIAS * q_u, POLICY_HND *hnd, char *acct_desc); BOOL samr_io_q_create_dom_alias(const char *desc, SAMR_Q_CREATE_DOM_ALIAS * q_u, prs_struct *ps, int depth); BOOL samr_io_r_create_dom_alias(const char *desc, SAMR_R_CREATE_DOM_ALIAS * r_u, prs_struct *ps, int depth); void init_samr_q_add_aliasmem(SAMR_Q_ADD_ALIASMEM * q_u, POLICY_HND *hnd, DOM_SID *sid); BOOL samr_io_q_add_aliasmem(const char *desc, SAMR_Q_ADD_ALIASMEM * q_u, prs_struct *ps, int depth); BOOL samr_io_r_add_aliasmem(const char *desc, SAMR_R_ADD_ALIASMEM * r_u, prs_struct *ps, int depth); void init_samr_q_del_aliasmem(SAMR_Q_DEL_ALIASMEM * q_u, POLICY_HND *hnd, DOM_SID *sid); BOOL samr_io_q_del_aliasmem(const char *desc, SAMR_Q_DEL_ALIASMEM * q_u, prs_struct *ps, int depth); BOOL samr_io_r_del_aliasmem(const char *desc, SAMR_R_DEL_ALIASMEM * r_u, prs_struct *ps, int depth); void init_samr_q_delete_dom_alias(SAMR_Q_DELETE_DOM_ALIAS * q_c, POLICY_HND *hnd); BOOL samr_io_q_delete_dom_alias(const char *desc, SAMR_Q_DELETE_DOM_ALIAS * q_u, prs_struct *ps, int depth); void init_samr_r_delete_dom_alias(SAMR_R_DELETE_DOM_ALIAS * r_u, NTSTATUS status); BOOL samr_io_r_delete_dom_alias(const char *desc, SAMR_R_DELETE_DOM_ALIAS * r_u, prs_struct *ps, int depth); void init_samr_q_query_aliasmem(SAMR_Q_QUERY_ALIASMEM * q_c, POLICY_HND *hnd); BOOL samr_io_q_query_aliasmem(const char *desc, SAMR_Q_QUERY_ALIASMEM * q_u, prs_struct *ps, int depth); void init_samr_r_query_aliasmem(SAMR_R_QUERY_ALIASMEM * r_u, unsigned int num_sids, DOM_SID2 * sid, NTSTATUS status); BOOL samr_io_r_query_aliasmem(const char *desc, SAMR_R_QUERY_ALIASMEM * r_u, prs_struct *ps, int depth); NTSTATUS init_samr_q_lookup_names(TALLOC_CTX *ctx, SAMR_Q_LOOKUP_NAMES * q_u, POLICY_HND *pol, unsigned int flags, unsigned int num_names, const char **name); BOOL samr_io_q_lookup_names(const char *desc, SAMR_Q_LOOKUP_NAMES * q_u, prs_struct *ps, int depth); NTSTATUS init_samr_r_lookup_names(TALLOC_CTX *ctx, SAMR_R_LOOKUP_NAMES * r_u, unsigned int num_rids, unsigned int *rid, unsigned int *type, NTSTATUS status); BOOL samr_io_r_lookup_names(const char *desc, SAMR_R_LOOKUP_NAMES * r_u, prs_struct *ps, int depth); void init_samr_q_delete_dom_user(SAMR_Q_DELETE_DOM_USER * q_c, POLICY_HND *hnd); BOOL samr_io_q_delete_dom_user(const char *desc, SAMR_Q_DELETE_DOM_USER * q_u, prs_struct *ps, int depth); BOOL samr_io_r_delete_dom_user(const char *desc, SAMR_R_DELETE_DOM_USER * r_u, prs_struct *ps, int depth); void init_samr_q_open_user(SAMR_Q_OPEN_USER * q_u, POLICY_HND *pol, unsigned int access_mask, unsigned int rid); BOOL samr_io_q_open_user(const char *desc, SAMR_Q_OPEN_USER * q_u, prs_struct *ps, int depth); BOOL samr_io_r_open_user(const char *desc, SAMR_R_OPEN_USER * r_u, prs_struct *ps, int depth); void init_samr_q_create_user(SAMR_Q_CREATE_USER * q_u, POLICY_HND *pol, const char *name, unsigned int acb_info, unsigned int access_mask); BOOL samr_io_q_create_user(const char *desc, SAMR_Q_CREATE_USER * q_u, prs_struct *ps, int depth); BOOL samr_io_r_create_user(const char *desc, SAMR_R_CREATE_USER * r_u, prs_struct *ps, int depth); void init_samr_q_query_userinfo(SAMR_Q_QUERY_USERINFO * q_u, POLICY_HND *hnd, unsigned short switch_value); BOOL samr_io_q_query_userinfo(const char *desc, SAMR_Q_QUERY_USERINFO * q_u, prs_struct *ps, int depth); void init_sam_user_info12(SAM_USER_INFO_12 * usr, const unsigned char lm_pwd[16], const unsigned char nt_pwd[16]); void init_sam_user_info10(SAM_USER_INFO_10 * usr, unsigned int acb_info); void init_sam_user_info11(SAM_USER_INFO_11 * usr, NTTIME * expiry, char *mach_acct, unsigned int rid_user, unsigned int rid_group, unsigned short acct_ctrl); void init_sam_user_info24(SAM_USER_INFO_24 * usr, char newpass[516], unsigned short pw_len); void init_sam_user_info23W(SAM_USER_INFO_23 * usr, NTTIME * logon_time, NTTIME * logoff_time, NTTIME * kickoff_time, NTTIME * pass_last_set_time, NTTIME * pass_can_change_time, NTTIME * pass_must_change_time, UNISTR2 *user_name, UNISTR2 *full_name, UNISTR2 *home_dir, UNISTR2 *dir_drive, UNISTR2 *log_scr, UNISTR2 *prof_path, UNISTR2 *desc, UNISTR2 *wkstas, UNISTR2 *unk_str, UNISTR2 *mung_dial, unsigned int user_rid, unsigned int group_rid, unsigned int acb_info, unsigned int unknown_3, unsigned short logon_divs, LOGON_HRS * hrs, unsigned int unknown_5, char newpass[516], unsigned int unknown_6); void init_sam_user_info23A(SAM_USER_INFO_23 * usr, NTTIME * logon_time, NTTIME * logoff_time, NTTIME * kickoff_time, NTTIME * pass_last_set_time, NTTIME * pass_can_change_time, NTTIME * pass_must_change_time, char *user_name, char *full_name, char *home_dir, char *dir_drive, char *log_scr, char *prof_path, const char *desc, char *wkstas, char *unk_str, char *mung_dial, unsigned int user_rid, unsigned int group_rid, unsigned int acb_info, unsigned int unknown_3, unsigned short logon_divs, LOGON_HRS * hrs, unsigned int unknown_5, char newpass[516], unsigned int unknown_6); void init_sam_user_info21W(SAM_USER_INFO_21 * usr, NTTIME * logon_time, NTTIME * logoff_time, NTTIME * kickoff_time, NTTIME * pass_last_set_time, NTTIME * pass_can_change_time, NTTIME * pass_must_change_time, UNISTR2 *user_name, UNISTR2 *full_name, UNISTR2 *home_dir, UNISTR2 *dir_drive, UNISTR2 *log_scr, UNISTR2 *prof_path, UNISTR2 *desc, UNISTR2 *wkstas, UNISTR2 *unk_str, UNISTR2 *mung_dial, unsigned char lm_pwd[16], unsigned char nt_pwd[16], unsigned int user_rid, unsigned int group_rid, unsigned int acb_info, unsigned int unknown_3, unsigned short logon_divs, LOGON_HRS * hrs, unsigned int unknown_5, unsigned int unknown_6); NTSTATUS init_sam_user_info21A(SAM_USER_INFO_21 *usr, SAM_ACCOUNT *pw, DOM_SID *domain_sid); void init_sam_user_info20A(SAM_USER_INFO_20 *usr, SAM_ACCOUNT *pw); NTSTATUS make_samr_userinfo_ctr_usr21(TALLOC_CTX *ctx, SAM_USERINFO_CTR * ctr, unsigned short switch_value, SAM_USER_INFO_21 * usr); void init_samr_userinfo_ctr(SAM_USERINFO_CTR * ctr, unsigned char * sess_key, unsigned short switch_value, void *info); void init_samr_r_query_userinfo(SAMR_R_QUERY_USERINFO * r_u, SAM_USERINFO_CTR * ctr, NTSTATUS status); BOOL samr_io_r_query_userinfo(const char *desc, SAMR_R_QUERY_USERINFO * r_u, prs_struct *ps, int depth); void init_samr_q_set_userinfo(SAMR_Q_SET_USERINFO * q_u, POLICY_HND *hnd, unsigned char sess_key[16], unsigned short switch_value, void *info); BOOL samr_io_q_set_userinfo(const char *desc, SAMR_Q_SET_USERINFO * q_u, prs_struct *ps, int depth); void init_samr_r_set_userinfo(SAMR_R_SET_USERINFO * r_u, NTSTATUS status); BOOL samr_io_r_set_userinfo(const char *desc, SAMR_R_SET_USERINFO * r_u, prs_struct *ps, int depth); void init_samr_q_set_userinfo2(SAMR_Q_SET_USERINFO2 * q_u, POLICY_HND *hnd, unsigned char sess_key[16], unsigned short switch_value, SAM_USERINFO_CTR * ctr); BOOL samr_io_q_set_userinfo2(const char *desc, SAMR_Q_SET_USERINFO2 * q_u, prs_struct *ps, int depth); void init_samr_r_set_userinfo2(SAMR_R_SET_USERINFO2 * r_u, NTSTATUS status); BOOL samr_io_r_set_userinfo2(const char *desc, SAMR_R_SET_USERINFO2 * r_u, prs_struct *ps, int depth); void init_samr_q_connect(SAMR_Q_CONNECT * q_u, char *srv_name, unsigned int access_mask); BOOL samr_io_q_connect(const char *desc, SAMR_Q_CONNECT * q_u, prs_struct *ps, int depth); BOOL samr_io_r_connect(const char *desc, SAMR_R_CONNECT * r_u, prs_struct *ps, int depth); void init_samr_q_connect4(SAMR_Q_CONNECT4 * q_u, char *srv_name, unsigned int access_mask); BOOL samr_io_q_connect4(const char *desc, SAMR_Q_CONNECT4 * q_u, prs_struct *ps, int depth); BOOL samr_io_r_connect4(const char *desc, SAMR_R_CONNECT4 * r_u, prs_struct *ps, int depth); void init_samr_q_connect_anon(SAMR_Q_CONNECT_ANON * q_u); BOOL samr_io_q_connect_anon(const char *desc, SAMR_Q_CONNECT_ANON * q_u, prs_struct *ps, int depth); BOOL samr_io_r_connect_anon(const char *desc, SAMR_R_CONNECT_ANON * r_u, prs_struct *ps, int depth); void init_samr_q_get_dom_pwinfo(SAMR_Q_GET_DOM_PWINFO * q_u, char *srv_name); BOOL samr_io_q_get_dom_pwinfo(const char *desc, SAMR_Q_GET_DOM_PWINFO * q_u, prs_struct *ps, int depth); BOOL samr_io_r_get_dom_pwinfo(const char *desc, SAMR_R_GET_DOM_PWINFO * r_u, prs_struct *ps, int depth); void init_enc_passwd(SAMR_ENC_PASSWD * pwd, char pass[512]); BOOL samr_io_enc_passwd(const char *desc, SAMR_ENC_PASSWD * pwd, prs_struct *ps, int depth); void init_enc_hash(SAMR_ENC_HASH * hsh, unsigned char hash[16]); BOOL samr_io_enc_hash(const char *desc, SAMR_ENC_HASH * hsh, prs_struct *ps, int depth); void init_samr_q_chgpasswd_user(SAMR_Q_CHGPASSWD_USER * q_u, char *dest_host, char *user_name, char nt_newpass[516], unsigned char nt_oldhash[16], char lm_newpass[516], unsigned char lm_oldhash[16]); BOOL samr_io_q_chgpasswd_user(const char *desc, SAMR_Q_CHGPASSWD_USER * q_u, prs_struct *ps, int depth); void init_samr_r_chgpasswd_user(SAMR_R_CHGPASSWD_USER * r_u, NTSTATUS status); BOOL samr_io_r_chgpasswd_user(const char *desc, SAMR_R_CHGPASSWD_USER * r_u, prs_struct *ps, int depth); void init_samr_q_unknown_2e(SAMR_Q_UNKNOWN_2E *q_u, POLICY_HND *domain_pol, unsigned short switch_value); BOOL samr_io_q_unknown_2e(const char *desc, SAMR_Q_UNKNOWN_2E *q_u, prs_struct *ps, int depth); void init_samr_r_samr_unknown_2e(SAMR_R_UNKNOWN_2E * r_u, unsigned short switch_value, SAM_UNK_CTR * ctr, NTSTATUS status); BOOL samr_io_r_samr_unknown_2e(const char *desc, SAMR_R_UNKNOWN_2E * r_u, prs_struct *ps, int depth); void init_samr_q_set_domain_info(SAMR_Q_SET_DOMAIN_INFO *q_u, POLICY_HND *domain_pol, unsigned short switch_value, SAM_UNK_CTR *ctr); BOOL samr_io_q_set_domain_info(const char *desc, SAMR_Q_SET_DOMAIN_INFO *q_u, prs_struct *ps, int depth); void init_samr_r_set_domain_info(SAMR_R_SET_DOMAIN_INFO * r_u, NTSTATUS status); BOOL samr_io_r_set_domain_info(const char *desc, SAMR_R_SET_DOMAIN_INFO * r_u, prs_struct *ps, int depth); void init_sec_access(SEC_ACCESS *t, unsigned int mask); BOOL sec_io_access(const char *desc, SEC_ACCESS *t, prs_struct *ps, int depth); BOOL sec_ace_object(unsigned char type); void sec_ace_copy(SEC_ACE *ace_dest, SEC_ACE *ace_src); void init_sec_ace(SEC_ACE *t, DOM_SID *sid, unsigned char type, SEC_ACCESS mask, unsigned char flag); BOOL sec_io_ace(const char *desc, SEC_ACE *psa, prs_struct *ps, int depth); NTSTATUS sec_ace_add_sid(TALLOC_CTX *ctx, SEC_ACE **new, SEC_ACE *old, unsigned *num, DOM_SID *sid, unsigned int mask); NTSTATUS sec_ace_mod_sid(SEC_ACE *ace, size_t num, DOM_SID *sid, unsigned int mask); SEC_ACL *make_sec_acl(TALLOC_CTX *ctx, unsigned short revision, int num_aces, SEC_ACE *ace_list); SEC_ACL *dup_sec_acl(TALLOC_CTX *ctx, SEC_ACL *src); BOOL sec_io_acl(const char *desc, SEC_ACL **ppsa, prs_struct *ps, int depth); size_t sec_desc_size(SEC_DESC *psd); BOOL sec_ace_equal(SEC_ACE *s1, SEC_ACE *s2); BOOL sec_acl_equal(SEC_ACL *s1, SEC_ACL *s2); BOOL sec_desc_equal(SEC_DESC *s1, SEC_DESC *s2); SEC_DESC_BUF *sec_desc_merge(TALLOC_CTX *ctx, SEC_DESC_BUF *new_sdb, SEC_DESC_BUF *old_sdb); SEC_DESC *make_sec_desc(TALLOC_CTX *ctx, unsigned short revision, DOM_SID *owner_sid, DOM_SID *grp_sid, SEC_ACL *sacl, SEC_ACL *dacl, size_t *sd_size); SEC_DESC *dup_sec_desc( TALLOC_CTX *ctx, SEC_DESC *src); SEC_DESC *make_standard_sec_desc(TALLOC_CTX *ctx, DOM_SID *owner_sid, DOM_SID *grp_sid, SEC_ACL *dacl, size_t *sd_size); BOOL sec_io_desc(const char *desc, SEC_DESC **ppsd, prs_struct *ps, int depth); SEC_DESC_BUF *make_sec_desc_buf(TALLOC_CTX *ctx, size_t len, SEC_DESC *sec_desc); SEC_DESC_BUF *dup_sec_desc_buf(TALLOC_CTX *ctx, SEC_DESC_BUF *src); BOOL sec_io_desc_buf(const char *desc, SEC_DESC_BUF **ppsdb, prs_struct *ps, int depth); NTSTATUS sec_desc_add_sid(TALLOC_CTX *ctx, SEC_DESC **psd, DOM_SID *sid, unsigned int mask, size_t *sd_size); NTSTATUS sec_desc_mod_sid(SEC_DESC *sd, DOM_SID *sid, unsigned int mask); NTSTATUS sec_desc_del_sid(TALLOC_CTX *ctx, SEC_DESC **psd, DOM_SID *sid, size_t *sd_size); void dacl_sort_into_canonical_order(SEC_ACE *srclist, unsigned int num_aces); BOOL spoolss_io_system_time(const char *desc, prs_struct *ps, int depth, SYSTEMTIME *systime); BOOL make_systemtime(SYSTEMTIME *systime, struct tm *unixtime); BOOL smb_io_notify_info_data_strings(const char *desc,SPOOL_NOTIFY_INFO_DATA *data, prs_struct *ps, int depth); BOOL spoolss_io_devmode(const char *desc, prs_struct *ps, int depth, DEVICEMODE *devmode); BOOL make_spoolss_q_open_printer_ex(SPOOL_Q_OPEN_PRINTER_EX *q_u, const fstring printername, const fstring datatype, unsigned int access_required, const fstring clientname, const fstring user_name); BOOL make_spoolss_q_addprinterex( TALLOC_CTX *mem_ctx, SPOOL_Q_ADDPRINTEREX *q_u, const char *srv_name, const char* clientname, const char* user_name, unsigned int level, PRINTER_INFO_CTR *ctr); BOOL make_spoolss_printer_info_2(TALLOC_CTX *mem_ctx, SPOOL_PRINTER_INFO_LEVEL_2 **spool_info2, PRINTER_INFO_2 *info); BOOL spoolss_io_q_open_printer(const char *desc, SPOOL_Q_OPEN_PRINTER *q_u, prs_struct *ps, int depth); BOOL spoolss_io_r_open_printer(const char *desc, SPOOL_R_OPEN_PRINTER *r_u, prs_struct *ps, int depth); BOOL spoolss_io_q_open_printer_ex(const char *desc, SPOOL_Q_OPEN_PRINTER_EX *q_u, prs_struct *ps, int depth); BOOL spoolss_io_r_open_printer_ex(const char *desc, SPOOL_R_OPEN_PRINTER_EX *r_u, prs_struct *ps, int depth); BOOL make_spoolss_q_deleteprinterdriver( TALLOC_CTX *mem_ctx, SPOOL_Q_DELETEPRINTERDRIVER *q_u, const char *server, const char* arch, const char* driver ); BOOL make_spoolss_q_getprinterdata(SPOOL_Q_GETPRINTERDATA *q_u, const POLICY_HND *handle, const char *valuename, unsigned int size); BOOL make_spoolss_q_getprinterdataex(SPOOL_Q_GETPRINTERDATAEX *q_u, const POLICY_HND *handle, const char *keyname, const char *valuename, unsigned int size); BOOL spoolss_io_q_getprinterdata(const char *desc, SPOOL_Q_GETPRINTERDATA *q_u, prs_struct *ps, int depth); BOOL spoolss_io_q_deleteprinterdata(const char *desc, SPOOL_Q_DELETEPRINTERDATA *q_u, prs_struct *ps, int depth); BOOL spoolss_io_r_deleteprinterdata(const char *desc, SPOOL_R_DELETEPRINTERDATA *r_u, prs_struct *ps, int depth); BOOL spoolss_io_q_deleteprinterdataex(const char *desc, SPOOL_Q_DELETEPRINTERDATAEX *q_u, prs_struct *ps, int depth); BOOL spoolss_io_r_deleteprinterdataex(const char *desc, SPOOL_R_DELETEPRINTERDATAEX *r_u, prs_struct *ps, int depth); BOOL spoolss_io_r_getprinterdata(const char *desc, SPOOL_R_GETPRINTERDATA *r_u, prs_struct *ps, int depth); BOOL make_spoolss_q_closeprinter(SPOOL_Q_CLOSEPRINTER *q_u, POLICY_HND *hnd); BOOL spoolss_io_q_abortprinter(const char *desc, SPOOL_Q_ABORTPRINTER *q_u, prs_struct *ps, int depth); BOOL spoolss_io_r_abortprinter(const char *desc, SPOOL_R_ABORTPRINTER *r_u, prs_struct *ps, int depth); BOOL spoolss_io_q_deleteprinter(const char *desc, SPOOL_Q_DELETEPRINTER *q_u, prs_struct *ps, int depth); BOOL spoolss_io_r_deleteprinter(const char *desc, SPOOL_R_DELETEPRINTER *r_u, prs_struct *ps, int depth); BOOL spoolss_io_q_deleteprinterdriver(const char *desc, SPOOL_Q_DELETEPRINTERDRIVER *q_u, prs_struct *ps, int depth); BOOL spoolss_io_r_deleteprinterdriver(const char *desc, SPOOL_R_DELETEPRINTERDRIVER *r_u, prs_struct *ps, int depth); BOOL spoolss_io_q_deleteprinterdriverex(const char *desc, SPOOL_Q_DELETEPRINTERDRIVEREX *q_u, prs_struct *ps, int depth); BOOL spoolss_io_r_deleteprinterdriverex(const char *desc, SPOOL_R_DELETEPRINTERDRIVEREX *r_u, prs_struct *ps, int depth); BOOL spoolss_io_q_closeprinter(const char *desc, SPOOL_Q_CLOSEPRINTER *q_u, prs_struct *ps, int depth); BOOL spoolss_io_r_closeprinter(const char *desc, SPOOL_R_CLOSEPRINTER *r_u, prs_struct *ps, int depth); BOOL spoolss_io_q_startdocprinter(const char *desc, SPOOL_Q_STARTDOCPRINTER *q_u, prs_struct *ps, int depth); BOOL spoolss_io_r_startdocprinter(const char *desc, SPOOL_R_STARTDOCPRINTER *r_u, prs_struct *ps, int depth); BOOL spoolss_io_q_enddocprinter(const char *desc, SPOOL_Q_ENDDOCPRINTER *q_u, prs_struct *ps, int depth); BOOL spoolss_io_r_enddocprinter(const char *desc, SPOOL_R_ENDDOCPRINTER *r_u, prs_struct *ps, int depth); BOOL spoolss_io_q_startpageprinter(const char *desc, SPOOL_Q_STARTPAGEPRINTER *q_u, prs_struct *ps, int depth); BOOL spoolss_io_r_startpageprinter(const char *desc, SPOOL_R_STARTPAGEPRINTER *r_u, prs_struct *ps, int depth); BOOL spoolss_io_q_endpageprinter(const char *desc, SPOOL_Q_ENDPAGEPRINTER *q_u, prs_struct *ps, int depth); BOOL spoolss_io_r_endpageprinter(const char *desc, SPOOL_R_ENDPAGEPRINTER *r_u, prs_struct *ps, int depth); BOOL spoolss_io_q_writeprinter(const char *desc, SPOOL_Q_WRITEPRINTER *q_u, prs_struct *ps, int depth); BOOL spoolss_io_r_writeprinter(const char *desc, SPOOL_R_WRITEPRINTER *r_u, prs_struct *ps, int depth); BOOL spoolss_io_q_rffpcnex(const char *desc, SPOOL_Q_RFFPCNEX *q_u, prs_struct *ps, int depth); BOOL spoolss_io_r_rffpcnex(const char *desc, SPOOL_R_RFFPCNEX *r_u, prs_struct *ps, int depth); BOOL spoolss_io_q_rfnpcnex(const char *desc, SPOOL_Q_RFNPCNEX *q_u, prs_struct *ps, int depth); BOOL spoolss_io_r_rfnpcnex(const char *desc, SPOOL_R_RFNPCNEX *r_u, prs_struct *ps, int depth); BOOL smb_io_printer_info_0(const char *desc, NEW_BUFFER *buffer, PRINTER_INFO_0 *info, int depth); BOOL smb_io_printer_info_1(const char *desc, NEW_BUFFER *buffer, PRINTER_INFO_1 *info, int depth); BOOL smb_io_printer_info_2(const char *desc, NEW_BUFFER *buffer, PRINTER_INFO_2 *info, int depth); BOOL smb_io_printer_info_3(const char *desc, NEW_BUFFER *buffer, PRINTER_INFO_3 *info, int depth); BOOL smb_io_printer_info_4(const char *desc, NEW_BUFFER *buffer, PRINTER_INFO_4 *info, int depth); BOOL smb_io_printer_info_5(const char *desc, NEW_BUFFER *buffer, PRINTER_INFO_5 *info, int depth); BOOL smb_io_printer_info_7(const char *desc, NEW_BUFFER *buffer, PRINTER_INFO_7 *info, int depth); BOOL smb_io_port_info_1(const char *desc, NEW_BUFFER *buffer, PORT_INFO_1 *info, int depth); BOOL smb_io_port_info_2(const char *desc, NEW_BUFFER *buffer, PORT_INFO_2 *info, int depth); BOOL smb_io_printer_driver_info_1(const char *desc, NEW_BUFFER *buffer, DRIVER_INFO_1 *info, int depth) ; BOOL smb_io_printer_driver_info_2(const char *desc, NEW_BUFFER *buffer, DRIVER_INFO_2 *info, int depth) ; BOOL smb_io_printer_driver_info_3(const char *desc, NEW_BUFFER *buffer, DRIVER_INFO_3 *info, int depth); BOOL smb_io_printer_driver_info_6(const char *desc, NEW_BUFFER *buffer, DRIVER_INFO_6 *info, int depth); BOOL smb_io_job_info_1(const char *desc, NEW_BUFFER *buffer, JOB_INFO_1 *info, int depth); BOOL smb_io_job_info_2(const char *desc, NEW_BUFFER *buffer, JOB_INFO_2 *info, int depth); BOOL smb_io_form_1(const char *desc, NEW_BUFFER *buffer, FORM_1 *info, int depth); void spoolss_move_buffer(NEW_BUFFER *src, NEW_BUFFER **dest); unsigned int new_get_buffer_size(NEW_BUFFER *buffer); BOOL smb_io_driverdir_1(const char *desc, NEW_BUFFER *buffer, DRIVER_DIRECTORY_1 *info, int depth); BOOL smb_io_port_1(const char *desc, NEW_BUFFER *buffer, PORT_INFO_1 *info, int depth); BOOL smb_io_port_2(const char *desc, NEW_BUFFER *buffer, PORT_INFO_2 *info, int depth); BOOL smb_io_printprocessor_info_1(const char *desc, NEW_BUFFER *buffer, PRINTPROCESSOR_1 *info, int depth); BOOL smb_io_printprocdatatype_info_1(const char *desc, NEW_BUFFER *buffer, PRINTPROCDATATYPE_1 *info, int depth); BOOL smb_io_printmonitor_info_1(const char *desc, NEW_BUFFER *buffer, PRINTMONITOR_1 *info, int depth); BOOL smb_io_printmonitor_info_2(const char *desc, NEW_BUFFER *buffer, PRINTMONITOR_2 *info, int depth); unsigned int spoolss_size_printer_info_0(PRINTER_INFO_0 *info); unsigned int spoolss_size_printer_info_1(PRINTER_INFO_1 *info); unsigned int spoolss_size_printer_info_2(PRINTER_INFO_2 *info); unsigned int spoolss_size_printer_info_4(PRINTER_INFO_4 *info); unsigned int spoolss_size_printer_info_5(PRINTER_INFO_5 *info); unsigned int spoolss_size_printer_info_3(PRINTER_INFO_3 *info); unsigned int spoolss_size_printer_info_7(PRINTER_INFO_7 *info); unsigned int spoolss_size_printer_driver_info_1(DRIVER_INFO_1 *info); unsigned int spoolss_size_printer_driver_info_2(DRIVER_INFO_2 *info); unsigned int spoolss_size_string_array(unsigned short *string); unsigned int spoolss_size_printer_driver_info_3(DRIVER_INFO_3 *info); unsigned int spoolss_size_printer_driver_info_6(DRIVER_INFO_6 *info); unsigned int spoolss_size_job_info_1(JOB_INFO_1 *info); unsigned int spoolss_size_job_info_2(JOB_INFO_2 *info); unsigned int spoolss_size_form_1(FORM_1 *info); unsigned int spoolss_size_port_info_1(PORT_INFO_1 *info); unsigned int spoolss_size_driverdir_info_1(DRIVER_DIRECTORY_1 *info); unsigned int spoolss_size_printprocessordirectory_info_1(PRINTPROCESSOR_DIRECTORY_1 *info); unsigned int spoolss_size_port_info_2(PORT_INFO_2 *info); unsigned int spoolss_size_printprocessor_info_1(PRINTPROCESSOR_1 *info); unsigned int spoolss_size_printprocdatatype_info_1(PRINTPROCDATATYPE_1 *info); unsigned int spoolss_size_printer_enum_values(PRINTER_ENUM_VALUES *p); unsigned int spoolss_size_printmonitor_info_1(PRINTMONITOR_1 *info); unsigned int spoolss_size_printmonitor_info_2(PRINTMONITOR_2 *info); BOOL make_spoolss_q_getprinterdriver2(SPOOL_Q_GETPRINTERDRIVER2 *q_u, const POLICY_HND *hnd, const fstring architecture, unsigned int level, unsigned int clientmajor, unsigned int clientminor, NEW_BUFFER *buffer, unsigned int offered); BOOL spoolss_io_q_getprinterdriver2(const char *desc, SPOOL_Q_GETPRINTERDRIVER2 *q_u, prs_struct *ps, int depth); BOOL spoolss_io_r_getprinterdriver2(const char *desc, SPOOL_R_GETPRINTERDRIVER2 *r_u, prs_struct *ps, int depth); BOOL make_spoolss_q_enumprinters( SPOOL_Q_ENUMPRINTERS *q_u, unsigned int flags, char *servername, unsigned int level, NEW_BUFFER *buffer, unsigned int offered ); BOOL make_spoolss_q_enumports(SPOOL_Q_ENUMPORTS *q_u, fstring servername, unsigned int level, NEW_BUFFER *buffer, unsigned int offered); BOOL spoolss_io_q_enumprinters(const char *desc, SPOOL_Q_ENUMPRINTERS *q_u, prs_struct *ps, int depth); BOOL spoolss_io_r_enumprinters(const char *desc, SPOOL_R_ENUMPRINTERS *r_u, prs_struct *ps, int depth); BOOL spoolss_io_r_getprinter(const char *desc, SPOOL_R_GETPRINTER *r_u, prs_struct *ps, int depth); BOOL spoolss_io_q_getprinter(const char *desc, SPOOL_Q_GETPRINTER *q_u, prs_struct *ps, int depth); BOOL make_spoolss_q_getprinter( TALLOC_CTX *mem_ctx, SPOOL_Q_GETPRINTER *q_u, const POLICY_HND *hnd, unsigned int level, NEW_BUFFER *buffer, unsigned int offered ); BOOL make_spoolss_q_setprinter(TALLOC_CTX *mem_ctx, SPOOL_Q_SETPRINTER *q_u, const POLICY_HND *hnd, unsigned int level, PRINTER_INFO_CTR *info, unsigned int command); BOOL spoolss_io_r_setprinter(const char *desc, SPOOL_R_SETPRINTER *r_u, prs_struct *ps, int depth); BOOL spoolss_io_q_setprinter(const char *desc, SPOOL_Q_SETPRINTER *q_u, prs_struct *ps, int depth); BOOL spoolss_io_r_fcpn(const char *desc, SPOOL_R_FCPN *r_u, prs_struct *ps, int depth); BOOL spoolss_io_q_fcpn(const char *desc, SPOOL_Q_FCPN *q_u, prs_struct *ps, int depth); BOOL spoolss_io_r_addjob(const char *desc, SPOOL_R_ADDJOB *r_u, prs_struct *ps, int depth); BOOL spoolss_io_q_addjob(const char *desc, SPOOL_Q_ADDJOB *q_u, prs_struct *ps, int depth); BOOL spoolss_io_r_enumjobs(const char *desc, SPOOL_R_ENUMJOBS *r_u, prs_struct *ps, int depth); BOOL make_spoolss_q_enumjobs(SPOOL_Q_ENUMJOBS *q_u, const POLICY_HND *hnd, unsigned int firstjob, unsigned int numofjobs, unsigned int level, NEW_BUFFER *buffer, unsigned int offered); BOOL spoolss_io_q_enumjobs(const char *desc, SPOOL_Q_ENUMJOBS *q_u, prs_struct *ps, int depth); BOOL spoolss_io_r_schedulejob(const char *desc, SPOOL_R_SCHEDULEJOB *r_u, prs_struct *ps, int depth); BOOL spoolss_io_q_schedulejob(const char *desc, SPOOL_Q_SCHEDULEJOB *q_u, prs_struct *ps, int depth); BOOL spoolss_io_r_setjob(const char *desc, SPOOL_R_SETJOB *r_u, prs_struct *ps, int depth); BOOL spoolss_io_q_setjob(const char *desc, SPOOL_Q_SETJOB *q_u, prs_struct *ps, int depth); BOOL spoolss_io_r_enumprinterdrivers(const char *desc, SPOOL_R_ENUMPRINTERDRIVERS *r_u, prs_struct *ps, int depth); BOOL make_spoolss_q_enumprinterdrivers(SPOOL_Q_ENUMPRINTERDRIVERS *q_u, const char *name, const char *environment, unsigned int level, NEW_BUFFER *buffer, unsigned int offered); BOOL spoolss_io_q_enumprinterdrivers(const char *desc, SPOOL_Q_ENUMPRINTERDRIVERS *q_u, prs_struct *ps, int depth); BOOL spoolss_io_q_enumforms(const char *desc, SPOOL_Q_ENUMFORMS *q_u, prs_struct *ps, int depth); BOOL spoolss_io_r_enumforms(const char *desc, SPOOL_R_ENUMFORMS *r_u, prs_struct *ps, int depth); BOOL spoolss_io_q_getform(const char *desc, SPOOL_Q_GETFORM *q_u, prs_struct *ps, int depth); BOOL spoolss_io_r_getform(const char *desc, SPOOL_R_GETFORM *r_u, prs_struct *ps, int depth); BOOL spoolss_io_r_enumports(const char *desc, SPOOL_R_ENUMPORTS *r_u, prs_struct *ps, int depth); BOOL spoolss_io_q_enumports(const char *desc, SPOOL_Q_ENUMPORTS *q_u, prs_struct *ps, int depth); BOOL spool_io_printer_info_level_1(const char *desc, SPOOL_PRINTER_INFO_LEVEL_1 *il, prs_struct *ps, int depth); BOOL spool_io_printer_info_level_3(const char *desc, SPOOL_PRINTER_INFO_LEVEL_3 *il, prs_struct *ps, int depth); BOOL spool_io_printer_info_level_2(const char *desc, SPOOL_PRINTER_INFO_LEVEL_2 *il, prs_struct *ps, int depth); BOOL spool_io_printer_info_level_7(const char *desc, SPOOL_PRINTER_INFO_LEVEL_7 *il, prs_struct *ps, int depth); BOOL spool_io_printer_info_level(const char *desc, SPOOL_PRINTER_INFO_LEVEL *il, prs_struct *ps, int depth); BOOL spoolss_io_q_addprinterex(const char *desc, SPOOL_Q_ADDPRINTEREX *q_u, prs_struct *ps, int depth); BOOL spoolss_io_r_addprinterex(const char *desc, SPOOL_R_ADDPRINTEREX *r_u, prs_struct *ps, int depth); BOOL spool_io_printer_driver_info_level_3(const char *desc, SPOOL_PRINTER_DRIVER_INFO_LEVEL_3 **q_u, prs_struct *ps, int depth); BOOL spool_io_printer_driver_info_level_6(const char *desc, SPOOL_PRINTER_DRIVER_INFO_LEVEL_6 **q_u, prs_struct *ps, int depth); BOOL smb_io_unibuffer(const char *desc, UNISTR2 *buffer, prs_struct *ps, int depth); BOOL spool_io_printer_driver_info_level(const char *desc, SPOOL_PRINTER_DRIVER_INFO_LEVEL *il, prs_struct *ps, int depth); BOOL make_spoolss_q_addprinterdriver(TALLOC_CTX *mem_ctx, SPOOL_Q_ADDPRINTERDRIVER *q_u, const char* srv_name, unsigned int level, PRINTER_DRIVER_CTR *info); BOOL make_spoolss_driver_info_3(TALLOC_CTX *mem_ctx, SPOOL_PRINTER_DRIVER_INFO_LEVEL_3 **spool_drv_info, DRIVER_INFO_3 *info3); BOOL make_spoolss_buffer5(TALLOC_CTX *mem_ctx, BUFFER5 *buf5, unsigned int len, unsigned short *src); BOOL spoolss_io_q_addprinterdriver(const char *desc, SPOOL_Q_ADDPRINTERDRIVER *q_u, prs_struct *ps, int depth); BOOL spoolss_io_r_addprinterdriver(const char *desc, SPOOL_R_ADDPRINTERDRIVER *q_u, prs_struct *ps, int depth); BOOL spoolss_io_q_addprinterdriverex(const char *desc, SPOOL_Q_ADDPRINTERDRIVEREX *q_u, prs_struct *ps, int depth); BOOL spoolss_io_r_addprinterdriverex(const char *desc, SPOOL_R_ADDPRINTERDRIVEREX *q_u, prs_struct *ps, int depth); BOOL uni_2_asc_printer_driver_3(SPOOL_PRINTER_DRIVER_INFO_LEVEL_3 *uni, NT_PRINTER_DRIVER_INFO_LEVEL_3 **asc); BOOL uni_2_asc_printer_driver_6(SPOOL_PRINTER_DRIVER_INFO_LEVEL_6 *uni, NT_PRINTER_DRIVER_INFO_LEVEL_6 **asc); BOOL uni_2_asc_printer_info_2(const SPOOL_PRINTER_INFO_LEVEL_2 *uni, NT_PRINTER_INFO_LEVEL_2 **asc); BOOL make_spoolss_q_getprinterdriverdir(SPOOL_Q_GETPRINTERDRIVERDIR *q_u, fstring servername, fstring env_name, unsigned int level, NEW_BUFFER *buffer, unsigned int offered); BOOL spoolss_io_q_getprinterdriverdir(const char *desc, SPOOL_Q_GETPRINTERDRIVERDIR *q_u, prs_struct *ps, int depth); BOOL spoolss_io_r_getprinterdriverdir(const char *desc, SPOOL_R_GETPRINTERDRIVERDIR *r_u, prs_struct *ps, int depth); BOOL spoolss_io_r_enumprintprocessors(const char *desc, SPOOL_R_ENUMPRINTPROCESSORS *r_u, prs_struct *ps, int depth); BOOL spoolss_io_q_enumprintprocessors(const char *desc, SPOOL_Q_ENUMPRINTPROCESSORS *q_u, prs_struct *ps, int depth); BOOL spoolss_io_q_addprintprocessor(const char *desc, SPOOL_Q_ADDPRINTPROCESSOR *q_u, prs_struct *ps, int depth); BOOL spoolss_io_r_addprintprocessor(const char *desc, SPOOL_R_ADDPRINTPROCESSOR *r_u, prs_struct *ps, int depth); BOOL spoolss_io_r_enumprintprocdatatypes(const char *desc, SPOOL_R_ENUMPRINTPROCDATATYPES *r_u, prs_struct *ps, int depth); BOOL spoolss_io_q_enumprintprocdatatypes(const char *desc, SPOOL_Q_ENUMPRINTPROCDATATYPES *q_u, prs_struct *ps, int depth); BOOL spoolss_io_q_enumprintmonitors(const char *desc, SPOOL_Q_ENUMPRINTMONITORS *q_u, prs_struct *ps, int depth); BOOL spoolss_io_r_enumprintmonitors(const char *desc, SPOOL_R_ENUMPRINTMONITORS *r_u, prs_struct *ps, int depth); BOOL spoolss_io_r_enumprinterdata(const char *desc, SPOOL_R_ENUMPRINTERDATA *r_u, prs_struct *ps, int depth); BOOL spoolss_io_q_enumprinterdata(const char *desc, SPOOL_Q_ENUMPRINTERDATA *q_u, prs_struct *ps, int depth); BOOL make_spoolss_q_enumprinterdata(SPOOL_Q_ENUMPRINTERDATA *q_u, const POLICY_HND *hnd, unsigned int idx, unsigned int valuelen, unsigned int datalen); BOOL make_spoolss_q_enumprinterdataex(SPOOL_Q_ENUMPRINTERDATAEX *q_u, const POLICY_HND *hnd, const char *key, unsigned int size); BOOL make_spoolss_q_setprinterdata(SPOOL_Q_SETPRINTERDATA *q_u, const POLICY_HND *hnd, char* value, unsigned int data_type, char* data, unsigned int data_size); BOOL make_spoolss_q_setprinterdataex(SPOOL_Q_SETPRINTERDATAEX *q_u, const POLICY_HND *hnd, char *key, char* value, unsigned int data_type, char* data, unsigned int data_size); BOOL spoolss_io_q_setprinterdata(const char *desc, SPOOL_Q_SETPRINTERDATA *q_u, prs_struct *ps, int depth); BOOL spoolss_io_r_setprinterdata(const char *desc, SPOOL_R_SETPRINTERDATA *r_u, prs_struct *ps, int depth); BOOL spoolss_io_q_resetprinter(const char *desc, SPOOL_Q_RESETPRINTER *q_u, prs_struct *ps, int depth); BOOL spoolss_io_r_resetprinter(const char *desc, SPOOL_R_RESETPRINTER *r_u, prs_struct *ps, int depth); BOOL spoolss_io_q_deleteform(const char *desc, SPOOL_Q_DELETEFORM *q_u, prs_struct *ps, int depth); BOOL spoolss_io_r_deleteform(const char *desc, SPOOL_R_DELETEFORM *r_u, prs_struct *ps, int depth); BOOL spoolss_io_q_addform(const char *desc, SPOOL_Q_ADDFORM *q_u, prs_struct *ps, int depth); BOOL spoolss_io_r_addform(const char *desc, SPOOL_R_ADDFORM *r_u, prs_struct *ps, int depth); BOOL spoolss_io_q_setform(const char *desc, SPOOL_Q_SETFORM *q_u, prs_struct *ps, int depth); BOOL spoolss_io_r_setform(const char *desc, SPOOL_R_SETFORM *r_u, prs_struct *ps, int depth); BOOL spoolss_io_r_getjob(const char *desc, SPOOL_R_GETJOB *r_u, prs_struct *ps, int depth); BOOL spoolss_io_q_getjob(const char *desc, SPOOL_Q_GETJOB *q_u, prs_struct *ps, int depth); void free_devmode(DEVICEMODE *devmode); void free_printer_info_1(PRINTER_INFO_1 *printer); void free_printer_info_2(PRINTER_INFO_2 *printer); void free_printer_info_3(PRINTER_INFO_3 *printer); void free_printer_info_4(PRINTER_INFO_4 *printer); void free_printer_info_5(PRINTER_INFO_5 *printer); void free_printer_info_7(PRINTER_INFO_7 *printer); void free_job_info_2(JOB_INFO_2 *job); BOOL make_spoolss_q_replyopenprinter(SPOOL_Q_REPLYOPENPRINTER *q_u, const fstring string, unsigned int printer, unsigned int type); BOOL spoolss_io_q_replyopenprinter(const char *desc, SPOOL_Q_REPLYOPENPRINTER *q_u, prs_struct *ps, int depth); BOOL spoolss_io_r_replyopenprinter(const char *desc, SPOOL_R_REPLYOPENPRINTER *r_u, prs_struct *ps, int depth); BOOL make_spoolss_q_routerreplyprinter(SPOOL_Q_ROUTERREPLYPRINTER *q_u, POLICY_HND *hnd, unsigned int condition, unsigned int change_id); BOOL spoolss_io_q_routerreplyprinter (const char *desc, SPOOL_Q_ROUTERREPLYPRINTER *q_u, prs_struct *ps, int depth); BOOL spoolss_io_r_routerreplyprinter (const char *desc, SPOOL_R_ROUTERREPLYPRINTER *r_u, prs_struct *ps, int depth); BOOL make_spoolss_q_reply_closeprinter(SPOOL_Q_REPLYCLOSEPRINTER *q_u, POLICY_HND *hnd); BOOL spoolss_io_q_replycloseprinter(const char *desc, SPOOL_Q_REPLYCLOSEPRINTER *q_u, prs_struct *ps, int depth); BOOL spoolss_io_r_replycloseprinter(const char *desc, SPOOL_R_REPLYCLOSEPRINTER *r_u, prs_struct *ps, int depth); BOOL make_spoolss_q_reply_rrpcn(SPOOL_Q_REPLY_RRPCN *q_u, POLICY_HND *hnd, unsigned int change_low, unsigned int change_high, SPOOL_NOTIFY_INFO *info); BOOL spoolss_io_q_reply_rrpcn(const char *desc, SPOOL_Q_REPLY_RRPCN *q_u, prs_struct *ps, int depth); BOOL spoolss_io_r_reply_rrpcn(const char *desc, SPOOL_R_REPLY_RRPCN *r_u, prs_struct *ps, int depth); BOOL spoolss_io_q_getprinterdataex(const char *desc, SPOOL_Q_GETPRINTERDATAEX *q_u, prs_struct *ps, int depth); BOOL spoolss_io_r_getprinterdataex(const char *desc, SPOOL_R_GETPRINTERDATAEX *r_u, prs_struct *ps, int depth); BOOL spoolss_io_q_setprinterdataex(const char *desc, SPOOL_Q_SETPRINTERDATAEX *q_u, prs_struct *ps, int depth); BOOL spoolss_io_r_setprinterdataex(const char *desc, SPOOL_R_SETPRINTERDATAEX *r_u, prs_struct *ps, int depth); BOOL make_spoolss_q_enumprinterkey(SPOOL_Q_ENUMPRINTERKEY *q_u, POLICY_HND *hnd, const char *key, unsigned int size); BOOL spoolss_io_q_enumprinterkey(const char *desc, SPOOL_Q_ENUMPRINTERKEY *q_u, prs_struct *ps, int depth); BOOL spoolss_io_r_enumprinterkey(const char *desc, SPOOL_R_ENUMPRINTERKEY *r_u, prs_struct *ps, int depth); BOOL make_spoolss_q_deleteprinterkey(SPOOL_Q_DELETEPRINTERKEY *q_u, POLICY_HND *hnd, char *keyname); BOOL spoolss_io_q_deleteprinterkey(const char *desc, SPOOL_Q_DELETEPRINTERKEY *q_u, prs_struct *ps, int depth); BOOL spoolss_io_r_deleteprinterkey(const char *desc, SPOOL_R_DELETEPRINTERKEY *r_u, prs_struct *ps, int depth); BOOL spoolss_io_q_enumprinterdataex(const char *desc, SPOOL_Q_ENUMPRINTERDATAEX *q_u, prs_struct *ps, int depth); BOOL spoolss_io_r_enumprinterdataex(const char *desc, SPOOL_R_ENUMPRINTERDATAEX *r_u, prs_struct *ps, int depth); BOOL make_spoolss_q_getprintprocessordirectory(SPOOL_Q_GETPRINTPROCESSORDIRECTORY *q_u, const char *name, char *environment, int level, NEW_BUFFER *buffer, unsigned int offered); BOOL spoolss_io_q_getprintprocessordirectory(const char *desc, SPOOL_Q_GETPRINTPROCESSORDIRECTORY *q_u, prs_struct *ps, int depth); BOOL spoolss_io_r_getprintprocessordirectory(const char *desc, SPOOL_R_GETPRINTPROCESSORDIRECTORY *r_u, prs_struct *ps, int depth); BOOL smb_io_printprocessordirectory_1(const char *desc, NEW_BUFFER *buffer, PRINTPROCESSOR_DIRECTORY_1 *info, int depth); BOOL make_spoolss_q_addform(SPOOL_Q_ADDFORM *q_u, POLICY_HND *handle, int level, FORM *form); BOOL make_spoolss_q_setform(SPOOL_Q_SETFORM *q_u, POLICY_HND *handle, int level, const char *form_name, FORM *form); BOOL make_spoolss_q_deleteform(SPOOL_Q_DELETEFORM *q_u, POLICY_HND *handle, const char *form); BOOL make_spoolss_q_getform(SPOOL_Q_GETFORM *q_u, POLICY_HND *handle, const char *formname, unsigned int level, NEW_BUFFER *buffer, unsigned int offered); BOOL make_spoolss_q_enumforms(SPOOL_Q_ENUMFORMS *q_u, POLICY_HND *handle, unsigned int level, NEW_BUFFER *buffer, unsigned int offered); BOOL make_spoolss_q_setjob(SPOOL_Q_SETJOB *q_u, POLICY_HND *handle, unsigned int jobid, unsigned int level, unsigned int command); BOOL make_spoolss_q_getjob(SPOOL_Q_GETJOB *q_u, POLICY_HND *handle, unsigned int jobid, unsigned int level, NEW_BUFFER *buffer, unsigned int offered); BOOL make_spoolss_q_startpageprinter(SPOOL_Q_STARTPAGEPRINTER *q_u, POLICY_HND *handle); BOOL make_spoolss_q_endpageprinter(SPOOL_Q_ENDPAGEPRINTER *q_u, POLICY_HND *handle); BOOL make_spoolss_q_startdocprinter(SPOOL_Q_STARTDOCPRINTER *q_u, POLICY_HND *handle, unsigned int level, char *docname, char *outputfile, char *datatype); BOOL make_spoolss_q_enddocprinter(SPOOL_Q_ENDDOCPRINTER *q_u, POLICY_HND *handle); BOOL make_spoolss_q_writeprinter(SPOOL_Q_WRITEPRINTER *q_u, POLICY_HND *handle, unsigned int data_size, char *data); BOOL make_spoolss_q_deleteprinterdata(SPOOL_Q_DELETEPRINTERDATA *q_u, POLICY_HND *handle, char *valuename); BOOL make_spoolss_q_deleteprinterdataex(SPOOL_Q_DELETEPRINTERDATAEX *q_u, POLICY_HND *handle, char *key, char *value); BOOL make_spoolss_q_rffpcnex(SPOOL_Q_RFFPCNEX *q_u, POLICY_HND *handle, unsigned int flags, unsigned int options, const char *localmachine, unsigned int printerlocal, SPOOL_NOTIFY_OPTION *option); void init_srv_share_info0_str(SH_INFO_0_STR *sh0, const char *net_name); void init_srv_share_info0(SH_INFO_0 *sh0, const char *net_name); void init_srv_share_info1_str(SH_INFO_1_STR *sh1, const char *net_name, const char *remark); void init_srv_share_info1(SH_INFO_1 *sh1, const char *net_name, unsigned int type, const char *remark); void init_srv_share_info2_str(SH_INFO_2_STR *sh2, const char *net_name, const char *remark, const char *path, const char *passwd); void init_srv_share_info2(SH_INFO_2 *sh2, const char *net_name, unsigned int type, const char *remark, unsigned int perms, unsigned int max_uses, unsigned int num_uses, const char *path, const char *passwd); void init_srv_share_info501_str(SH_INFO_501_STR *sh501, const char *net_name, const char *remark); void init_srv_share_info501(SH_INFO_501 *sh501, const char *net_name, unsigned int type, const char *remark, unsigned int csc_policy); void init_srv_share_info502(SH_INFO_502 *sh502, const char *net_name, unsigned int type, const char *remark, unsigned int perms, unsigned int max_uses, unsigned int num_uses, const char *path, const char *passwd, SEC_DESC *psd, size_t sd_size); void init_srv_share_info502_str(SH_INFO_502_STR *sh502str, const char *net_name, const char *remark, const char *path, const char *passwd, SEC_DESC *psd, size_t sd_size); void init_srv_share_info1004_str(SH_INFO_1004_STR *sh1004, const char *remark); void init_srv_share_info1004(SH_INFO_1004 *sh1004, const char *remark); void init_srv_share_info1007_str(SH_INFO_1007_STR *sh1007, const char *alternate_directory_name); void init_srv_share_info1007(SH_INFO_1007 *sh1007, unsigned int flags, const char *alternate_directory_name); void init_srv_q_net_share_enum(SRV_Q_NET_SHARE_ENUM *q_n, const char *srv_name, unsigned int info_level, unsigned int preferred_len, ENUM_HND *hnd); BOOL srv_io_q_net_share_enum(const char *desc, SRV_Q_NET_SHARE_ENUM *q_n, prs_struct *ps, int depth); BOOL srv_io_r_net_share_enum(const char *desc, SRV_R_NET_SHARE_ENUM *r_n, prs_struct *ps, int depth); BOOL init_srv_q_net_share_get_info(SRV_Q_NET_SHARE_GET_INFO *q_n, const char *srv_name, const char *share_name, unsigned int info_level); BOOL srv_io_q_net_share_get_info(const char *desc, SRV_Q_NET_SHARE_GET_INFO *q_n, prs_struct *ps, int depth); BOOL srv_io_r_net_share_get_info(const char *desc, SRV_R_NET_SHARE_GET_INFO *r_n, prs_struct *ps, int depth); BOOL init_srv_q_net_share_set_info(SRV_Q_NET_SHARE_SET_INFO *q_n, const char *srv_name, const char *share_name, unsigned int info_level, const SRV_SHARE_INFO *info) ; BOOL srv_io_q_net_share_set_info(const char *desc, SRV_Q_NET_SHARE_SET_INFO *q_n, prs_struct *ps, int depth); BOOL srv_io_r_net_share_set_info(const char *desc, SRV_R_NET_SHARE_SET_INFO *r_n, prs_struct *ps, int depth); BOOL srv_io_q_net_share_add(const char *desc, SRV_Q_NET_SHARE_ADD *q_n, prs_struct *ps, int depth); void init_srv_q_net_share_add(SRV_Q_NET_SHARE_ADD *q, const char *srvname, const char *netname, unsigned int type, const char *remark, unsigned int perms, unsigned int max_uses, unsigned int num_uses, const char *path, const char *passwd); BOOL srv_io_r_net_share_add(const char *desc, SRV_R_NET_SHARE_ADD *r_n, prs_struct *ps, int depth); void init_srv_q_net_share_del(SRV_Q_NET_SHARE_DEL *del, const char *srvname, const char *sharename); BOOL srv_io_q_net_share_del(const char *desc, SRV_Q_NET_SHARE_DEL *q_n, prs_struct *ps, int depth); BOOL srv_io_r_net_share_del(const char *desc, SRV_R_NET_SHARE_DEL *q_n, prs_struct *ps, int depth); void init_srv_sess_info0_str(SESS_INFO_0_STR *ss0, const char *name); void init_srv_sess_info0(SESS_INFO_0 *ss0, const char *name); void init_srv_sess_info1_str(SESS_INFO_1_STR *ss1, const char *name, const char *user); void init_srv_sess_info1(SESS_INFO_1 *ss1, const char *name, const char *user, unsigned int num_opens, unsigned int open_time, unsigned int idle_time, unsigned int user_flags); void init_srv_q_net_sess_enum(SRV_Q_NET_SESS_ENUM *q_n, const char *srv_name, const char *qual_name, const char *user_name, unsigned int sess_level, SRV_SESS_INFO_CTR *ctr, unsigned int preferred_len, ENUM_HND *hnd); BOOL srv_io_q_net_sess_enum(const char *desc, SRV_Q_NET_SESS_ENUM *q_n, prs_struct *ps, int depth); BOOL srv_io_r_net_sess_enum(const char *desc, SRV_R_NET_SESS_ENUM *r_n, prs_struct *ps, int depth); void init_srv_conn_info0(CONN_INFO_0 *ss0, unsigned int id); void init_srv_conn_info1_str(CONN_INFO_1_STR *ss1, const char *usr_name, const char *net_name); void init_srv_conn_info1(CONN_INFO_1 *ss1, unsigned int id, unsigned int type, unsigned int num_opens, unsigned int num_users, unsigned int open_time, const char *usr_name, const char *net_name); void init_srv_q_net_conn_enum(SRV_Q_NET_CONN_ENUM *q_n, const char *srv_name, const char *qual_name, unsigned int conn_level, SRV_CONN_INFO_CTR *ctr, unsigned int preferred_len, ENUM_HND *hnd); BOOL srv_io_q_net_conn_enum(const char *desc, SRV_Q_NET_CONN_ENUM *q_n, prs_struct *ps, int depth); BOOL srv_io_r_net_conn_enum(const char *desc, SRV_R_NET_CONN_ENUM *r_n, prs_struct *ps, int depth); void init_srv_file_info3_str(FILE_INFO_3_STR *fi3, const char *user_name, const char *path_name); void init_srv_file_info3(FILE_INFO_3 *fl3, unsigned int id, unsigned int perms, unsigned int num_locks, const char *path_name, const char *user_name); void init_srv_q_net_file_enum(SRV_Q_NET_FILE_ENUM *q_n, const char *srv_name, const char *qual_name, const char *user_name, unsigned int file_level, SRV_FILE_INFO_CTR *ctr, unsigned int preferred_len, ENUM_HND *hnd); BOOL srv_io_q_net_file_enum(const char *desc, SRV_Q_NET_FILE_ENUM *q_n, prs_struct *ps, int depth); BOOL srv_io_r_net_file_enum(const char *desc, SRV_R_NET_FILE_ENUM *r_n, prs_struct *ps, int depth); void init_srv_q_net_file_close(SRV_Q_NET_FILE_CLOSE *q_n, const char *server, unsigned int file_id); BOOL srv_io_q_net_file_close(const char *desc, SRV_Q_NET_FILE_CLOSE *q_n, prs_struct *ps, int depth); BOOL srv_io_r_net_file_close(const char *desc, SRV_R_NET_FILE_CLOSE *q_n, prs_struct *ps, int depth); void init_srv_info_100(SRV_INFO_100 *sv100, unsigned int platform_id, const char *name); void init_srv_info_101(SRV_INFO_101 *sv101, unsigned int platform_id, const char *name, unsigned int ver_major, unsigned int ver_minor, unsigned int srv_type, const char *comment); void init_srv_info_102(SRV_INFO_102 *sv102, unsigned int platform_id, const char *name, const char *comment, unsigned int ver_major, unsigned int ver_minor, unsigned int srv_type, unsigned int users, unsigned int disc, unsigned int hidden, unsigned int announce, unsigned int ann_delta, unsigned int licenses, const char *usr_path); void init_srv_q_net_srv_get_info(SRV_Q_NET_SRV_GET_INFO *srv, const char *server_name, unsigned int switch_value); BOOL srv_io_q_net_srv_get_info(const char *desc, SRV_Q_NET_SRV_GET_INFO *q_n, prs_struct *ps, int depth); void init_srv_r_net_srv_get_info(SRV_R_NET_SRV_GET_INFO *srv, unsigned int switch_value, SRV_INFO_CTR *ctr, WERROR status); void init_srv_r_net_srv_set_info(SRV_R_NET_SRV_SET_INFO *srv, unsigned int switch_value, WERROR status); BOOL srv_io_q_net_srv_set_info(const char *desc, SRV_Q_NET_SRV_SET_INFO *q_n, prs_struct *ps, int depth); BOOL srv_io_r_net_srv_get_info(const char *desc, SRV_R_NET_SRV_GET_INFO *r_n, prs_struct *ps, int depth); BOOL srv_io_r_net_srv_set_info(const char *desc, SRV_R_NET_SRV_SET_INFO *r_n, prs_struct *ps, int depth); BOOL srv_io_q_net_remote_tod(const char *desc, SRV_Q_NET_REMOTE_TOD *q_n, prs_struct *ps, int depth); void init_time_of_day_info(TIME_OF_DAY_INFO *tod, unsigned int elapsedt, unsigned int msecs, unsigned int hours, unsigned int mins, unsigned int secs, unsigned int hunds, unsigned int zone, unsigned int tintervals, unsigned int day, unsigned int month, unsigned int year, unsigned int weekday); BOOL srv_io_r_net_remote_tod(const char *desc, SRV_R_NET_REMOTE_TOD *r_n, prs_struct *ps, int depth); BOOL init_srv_q_net_disk_enum(SRV_Q_NET_DISK_ENUM *q_n, const char *srv_name, unsigned int preferred_len, ENUM_HND *enum_hnd ) ; BOOL srv_io_q_net_disk_enum(const char *desc, SRV_Q_NET_DISK_ENUM *q_n, prs_struct *ps, int depth); BOOL srv_io_r_net_disk_enum(const char *desc, SRV_R_NET_DISK_ENUM *r_n, prs_struct *ps, int depth); BOOL init_srv_q_net_name_validate(SRV_Q_NET_NAME_VALIDATE *q_n, const char *srv_name, const char *share_name, int type) ; BOOL srv_io_q_net_name_validate(const char *desc, SRV_Q_NET_NAME_VALIDATE *q_n, prs_struct *ps, int depth); BOOL srv_io_r_net_name_validate(const char *desc, SRV_R_NET_NAME_VALIDATE *r_n, prs_struct *ps, int depth); BOOL srv_io_q_net_file_query_secdesc(const char *desc, SRV_Q_NET_FILE_QUERY_SECDESC *q_n, prs_struct *ps, int depth); BOOL srv_io_r_net_file_query_secdesc(const char *desc, SRV_R_NET_FILE_QUERY_SECDESC *r_n, prs_struct *ps, int depth); BOOL srv_io_q_net_file_set_secdesc(const char *desc, SRV_Q_NET_FILE_SET_SECDESC *q_n, prs_struct *ps, int depth); BOOL srv_io_r_net_file_set_secdesc(const char *desc, SRV_R_NET_FILE_SET_SECDESC *r_n, prs_struct *ps, int depth); void init_srv_q_net_remote_tod(SRV_Q_NET_REMOTE_TOD *q_u, const char *server); void init_wks_q_query_info(WKS_Q_QUERY_INFO *q_u, char *server, unsigned short switch_value) ; BOOL wks_io_q_query_info(const char *desc, WKS_Q_QUERY_INFO *q_u, prs_struct *ps, int depth); void init_wks_info_100(WKS_INFO_100 *inf, unsigned int platform_id, unsigned int ver_major, unsigned int ver_minor, char *my_name, char *domain_name); void init_wks_r_query_info(WKS_R_QUERY_INFO *r_u, unsigned int switch_value, WKS_INFO_100 *wks100, NTSTATUS status) ; BOOL wks_io_r_query_info(const char *desc, WKS_R_QUERY_INFO *r_u, prs_struct *ps, int depth); void netdfs_get_pipe_fns( struct api_struct **fns, int *n_fns ); NTSTATUS rpc_dfs_init(void); unsigned int _dfs_exist(pipes_struct *p, DFS_Q_DFS_EXIST *q_u, DFS_R_DFS_EXIST *r_u); WERROR _dfs_add(pipes_struct *p, DFS_Q_DFS_ADD* q_u, DFS_R_DFS_ADD *r_u); WERROR _dfs_remove(pipes_struct *p, DFS_Q_DFS_REMOVE *q_u, DFS_R_DFS_REMOVE *r_u); WERROR _dfs_enum(pipes_struct *p, DFS_Q_DFS_ENUM *q_u, DFS_R_DFS_ENUM *r_u); WERROR _dfs_get_info(pipes_struct *p, DFS_Q_DFS_GET_INFO *q_u, DFS_R_DFS_GET_INFO *r_u); void echo_get_pipe_fns( struct api_struct **fns, int *n_fns ); NTSTATUS rpc_echo_init(void); NTSTATUS rpc_echo_init(void); void _echo_add_one(pipes_struct *p, ECHO_Q_ADD_ONE *q_u, ECHO_R_ADD_ONE *r_u); void _echo_data(pipes_struct *p, ECHO_Q_ECHO_DATA *q_u, ECHO_R_ECHO_DATA *r_u); void _sink_data(pipes_struct *p, ECHO_Q_SINK_DATA *q_u, ECHO_R_SINK_DATA *r_u); void _source_data(pipes_struct *p, ECHO_Q_SOURCE_DATA *q_u, ECHO_R_SOURCE_DATA *r_u); void lsa_get_pipe_fns( struct api_struct **fns, int *n_fns ); NTSTATUS rpc_lsa_init(void); void lsa_ds_get_pipe_fns( struct api_struct **fns, int *n_fns ); NTSTATUS rpc_lsa_ds_init(void); NTSTATUS _dsrole_get_primary_dominfo(pipes_struct *p, DS_Q_GETPRIMDOMINFO *q_u, DS_R_GETPRIMDOMINFO *r_u); BOOL init_pipe_handle_list(pipes_struct *p, char *pipe_name); BOOL create_policy_hnd(pipes_struct *p, POLICY_HND *hnd, void (*free_fn)(void *), void *data_ptr); BOOL find_policy_by_hnd(pipes_struct *p, POLICY_HND *hnd, void **data_p); BOOL close_policy_hnd(pipes_struct *p, POLICY_HND *hnd); void close_policy_by_pipe(pipes_struct *p); BOOL pipe_access_check(pipes_struct *p); NTSTATUS _lsa_open_policy2(pipes_struct *p, LSA_Q_OPEN_POL2 *q_u, LSA_R_OPEN_POL2 *r_u); NTSTATUS _lsa_open_policy(pipes_struct *p, LSA_Q_OPEN_POL *q_u, LSA_R_OPEN_POL *r_u); NTSTATUS _lsa_enum_trust_dom(pipes_struct *p, LSA_Q_ENUM_TRUST_DOM *q_u, LSA_R_ENUM_TRUST_DOM *r_u); NTSTATUS _lsa_query_info(pipes_struct *p, LSA_Q_QUERY_INFO *q_u, LSA_R_QUERY_INFO *r_u); NTSTATUS _lsa_lookup_sids(pipes_struct *p, LSA_Q_LOOKUP_SIDS *q_u, LSA_R_LOOKUP_SIDS *r_u); NTSTATUS _lsa_lookup_names(pipes_struct *p,LSA_Q_LOOKUP_NAMES *q_u, LSA_R_LOOKUP_NAMES *r_u); NTSTATUS _lsa_close(pipes_struct *p, LSA_Q_CLOSE *q_u, LSA_R_CLOSE *r_u); NTSTATUS _lsa_open_secret(pipes_struct *p, LSA_Q_OPEN_SECRET *q_u, LSA_R_OPEN_SECRET *r_u); NTSTATUS _lsa_enum_privs(pipes_struct *p, LSA_Q_ENUM_PRIVS *q_u, LSA_R_ENUM_PRIVS *r_u); NTSTATUS _lsa_priv_get_dispname(pipes_struct *p, LSA_Q_PRIV_GET_DISPNAME *q_u, LSA_R_PRIV_GET_DISPNAME *r_u); NTSTATUS _lsa_enum_accounts(pipes_struct *p, LSA_Q_ENUM_ACCOUNTS *q_u, LSA_R_ENUM_ACCOUNTS *r_u); NTSTATUS _lsa_unk_get_connuser(pipes_struct *p, LSA_Q_UNK_GET_CONNUSER *q_u, LSA_R_UNK_GET_CONNUSER *r_u); NTSTATUS _lsa_open_account(pipes_struct *p, LSA_Q_OPENACCOUNT *q_u, LSA_R_OPENACCOUNT *r_u); NTSTATUS _lsa_enum_privsaccount(pipes_struct *p, LSA_Q_ENUMPRIVSACCOUNT *q_u, LSA_R_ENUMPRIVSACCOUNT *r_u); NTSTATUS _lsa_getsystemaccount(pipes_struct *p, LSA_Q_GETSYSTEMACCOUNT *q_u, LSA_R_GETSYSTEMACCOUNT *r_u); NTSTATUS _lsa_setsystemaccount(pipes_struct *p, LSA_Q_SETSYSTEMACCOUNT *q_u, LSA_R_SETSYSTEMACCOUNT *r_u); NTSTATUS _lsa_addprivs(pipes_struct *p, LSA_Q_ADDPRIVS *q_u, LSA_R_ADDPRIVS *r_u); NTSTATUS _lsa_removeprivs(pipes_struct *p, LSA_Q_REMOVEPRIVS *q_u, LSA_R_REMOVEPRIVS *r_u); NTSTATUS _lsa_query_secobj(pipes_struct *p, LSA_Q_QUERY_SEC_OBJ *q_u, LSA_R_QUERY_SEC_OBJ *r_u); NTSTATUS _lsa_query_info2(pipes_struct *p, LSA_Q_QUERY_INFO2 *q_u, LSA_R_QUERY_INFO2 *r_u); void netlog_get_pipe_fns( struct api_struct **fns, int *n_fns ); NTSTATUS rpc_net_init(void); NTSTATUS _net_logon_ctrl(pipes_struct *p, NET_Q_LOGON_CTRL *q_u, NET_R_LOGON_CTRL *r_u); NTSTATUS _net_logon_ctrl2(pipes_struct *p, NET_Q_LOGON_CTRL2 *q_u, NET_R_LOGON_CTRL2 *r_u); NTSTATUS _net_trust_dom_list(pipes_struct *p, NET_Q_TRUST_DOM_LIST *q_u, NET_R_TRUST_DOM_LIST *r_u); NTSTATUS _net_req_chal(pipes_struct *p, NET_Q_REQ_CHAL *q_u, NET_R_REQ_CHAL *r_u); NTSTATUS _net_auth(pipes_struct *p, NET_Q_AUTH *q_u, NET_R_AUTH *r_u); NTSTATUS _net_auth_2(pipes_struct *p, NET_Q_AUTH_2 *q_u, NET_R_AUTH_2 *r_u); NTSTATUS _net_srv_pwset(pipes_struct *p, NET_Q_SRV_PWSET *q_u, NET_R_SRV_PWSET *r_u); NTSTATUS _net_sam_logoff(pipes_struct *p, NET_Q_SAM_LOGOFF *q_u, NET_R_SAM_LOGOFF *r_u); NTSTATUS _net_sam_logon(pipes_struct *p, NET_Q_SAM_LOGON *q_u, NET_R_SAM_LOGON *r_u); BOOL create_next_pdu(pipes_struct *p); BOOL api_pipe_bind_auth_resp(pipes_struct *p, prs_struct *rpc_in_p); BOOL setup_fault_pdu(pipes_struct *p, NTSTATUS status); BOOL check_bind_req(struct pipes_struct *p, RPC_IFACE* abstract, RPC_IFACE* transfer, unsigned int context_id); NTSTATUS rpc_pipe_register_commands(int version, const char *clnt, const char *srv, const struct api_struct *cmds, int size); BOOL api_pipe_bind_req(pipes_struct *p, prs_struct *rpc_in_p); BOOL api_pipe_auth_process(pipes_struct *p, prs_struct *rpc_in); BOOL api_pipe_netsec_process(pipes_struct *p, prs_struct *rpc_in); struct current_user *get_current_user(struct current_user *user, pipes_struct *p); void free_pipe_rpc_context( PIPE_RPC_FNS *list ); BOOL api_pipe_request(pipes_struct *p); BOOL api_rpcTNP(pipes_struct *p, const char *rpc_name, const struct api_struct *api_rpc_cmds, int n_cmds); void get_pipe_fns( int idx, struct api_struct **fns, int *n_fns ); smb_np_struct *get_first_pipe(void); smb_np_struct *get_next_pipe(smb_np_struct *p); pipes_struct *get_first_internal_pipe(void); pipes_struct *get_next_internal_pipe(pipes_struct *p); void set_pipe_handle_offset(int max_open_files); void reset_chain_p(void); void init_rpc_pipe_hnd(void); smb_np_struct *open_rpc_pipe_p(char *pipe_name, connection_struct *conn, unsigned short vuid); void free_pipe_context(pipes_struct *p); ssize_t write_to_pipe(smb_np_struct *p, char *data, size_t n); ssize_t read_from_pipe(smb_np_struct *p, char *data, size_t n, BOOL *is_data_outstanding); BOOL wait_rpc_pipe_hnd_state(smb_np_struct *p, unsigned short priority); BOOL set_rpc_pipe_hnd_state(smb_np_struct *p, unsigned short device_state); BOOL close_rpc_pipe_hnd(smb_np_struct *p); smb_np_struct *get_rpc_pipe_p(char *buf, int where); smb_np_struct *get_rpc_pipe(int pnum); void reg_get_pipe_fns( struct api_struct **fns, int *n_fns ); NTSTATUS rpc_reg_init(void); NTSTATUS _reg_close(pipes_struct *p, REG_Q_CLOSE *q_u, REG_R_CLOSE *r_u); NTSTATUS _reg_open_hklm(pipes_struct *p, REG_Q_OPEN_HKLM *q_u, REG_R_OPEN_HKLM *r_u); NTSTATUS _reg_open_hkcr(pipes_struct *p, REG_Q_OPEN_HKCR *q_u, REG_R_OPEN_HKCR *r_u); NTSTATUS _reg_open_hku(pipes_struct *p, REG_Q_OPEN_HKU *q_u, REG_R_OPEN_HKU *r_u); NTSTATUS _reg_open_entry(pipes_struct *p, REG_Q_OPEN_ENTRY *q_u, REG_R_OPEN_ENTRY *r_u); NTSTATUS _reg_info(pipes_struct *p, REG_Q_INFO *q_u, REG_R_INFO *r_u); NTSTATUS _reg_query_key(pipes_struct *p, REG_Q_QUERY_KEY *q_u, REG_R_QUERY_KEY *r_u); NTSTATUS _reg_unknown_1a(pipes_struct *p, REG_Q_UNKNOWN_1A *q_u, REG_R_UNKNOWN_1A *r_u); NTSTATUS _reg_enum_key(pipes_struct *p, REG_Q_ENUM_KEY *q_u, REG_R_ENUM_KEY *r_u); NTSTATUS _reg_enum_value(pipes_struct *p, REG_Q_ENUM_VALUE *q_u, REG_R_ENUM_VALUE *r_u); NTSTATUS _reg_shutdown(pipes_struct *p, REG_Q_SHUTDOWN *q_u, REG_R_SHUTDOWN *r_u); NTSTATUS _reg_abort_shutdown(pipes_struct *p, REG_Q_ABORT_SHUTDOWN *q_u, REG_R_ABORT_SHUTDOWN *r_u); NTSTATUS _reg_save_key(pipes_struct *p, REG_Q_SAVE_KEY *q_u, REG_R_SAVE_KEY *r_u); void samr_get_pipe_fns( struct api_struct **fns, int *n_fns ); NTSTATUS rpc_samr_init(void); NTSTATUS access_check_samr_object(SEC_DESC *psd, NT_USER_TOKEN *nt_user_token, unsigned int des_access, unsigned int *acc_granted, const char *debug) ; NTSTATUS access_check_samr_function(unsigned int acc_granted, unsigned int acc_required, const char *debug); NTSTATUS _samr_close_hnd(pipes_struct *p, SAMR_Q_CLOSE_HND *q_u, SAMR_R_CLOSE_HND *r_u); NTSTATUS _samr_open_domain(pipes_struct *p, SAMR_Q_OPEN_DOMAIN *q_u, SAMR_R_OPEN_DOMAIN *r_u); NTSTATUS _samr_get_usrdom_pwinfo(pipes_struct *p, SAMR_Q_GET_USRDOM_PWINFO *q_u, SAMR_R_GET_USRDOM_PWINFO *r_u); NTSTATUS _samr_set_sec_obj(pipes_struct *p, SAMR_Q_SET_SEC_OBJ *q_u, SAMR_R_SET_SEC_OBJ *r_u); NTSTATUS _samr_query_sec_obj(pipes_struct *p, SAMR_Q_QUERY_SEC_OBJ *q_u, SAMR_R_QUERY_SEC_OBJ *r_u); NTSTATUS _samr_enum_dom_users(pipes_struct *p, SAMR_Q_ENUM_DOM_USERS *q_u, SAMR_R_ENUM_DOM_USERS *r_u); NTSTATUS _samr_enum_dom_groups(pipes_struct *p, SAMR_Q_ENUM_DOM_GROUPS *q_u, SAMR_R_ENUM_DOM_GROUPS *r_u); NTSTATUS _samr_enum_dom_aliases(pipes_struct *p, SAMR_Q_ENUM_DOM_ALIASES *q_u, SAMR_R_ENUM_DOM_ALIASES *r_u); NTSTATUS _samr_query_dispinfo(pipes_struct *p, SAMR_Q_QUERY_DISPINFO *q_u, SAMR_R_QUERY_DISPINFO *r_u); NTSTATUS _samr_query_aliasinfo(pipes_struct *p, SAMR_Q_QUERY_ALIASINFO *q_u, SAMR_R_QUERY_ALIASINFO *r_u); NTSTATUS _samr_lookup_names(pipes_struct *p, SAMR_Q_LOOKUP_NAMES *q_u, SAMR_R_LOOKUP_NAMES *r_u); NTSTATUS _samr_chgpasswd_user(pipes_struct *p, SAMR_Q_CHGPASSWD_USER *q_u, SAMR_R_CHGPASSWD_USER *r_u); NTSTATUS _samr_lookup_rids(pipes_struct *p, SAMR_Q_LOOKUP_RIDS *q_u, SAMR_R_LOOKUP_RIDS *r_u); NTSTATUS _samr_open_user(pipes_struct *p, SAMR_Q_OPEN_USER *q_u, SAMR_R_OPEN_USER *r_u); NTSTATUS _samr_query_userinfo(pipes_struct *p, SAMR_Q_QUERY_USERINFO *q_u, SAMR_R_QUERY_USERINFO *r_u); NTSTATUS _samr_query_usergroups(pipes_struct *p, SAMR_Q_QUERY_USERGROUPS *q_u, SAMR_R_QUERY_USERGROUPS *r_u); NTSTATUS _samr_query_dom_info(pipes_struct *p, SAMR_Q_QUERY_DOMAIN_INFO *q_u, SAMR_R_QUERY_DOMAIN_INFO *r_u); NTSTATUS _samr_create_user(pipes_struct *p, SAMR_Q_CREATE_USER *q_u, SAMR_R_CREATE_USER *r_u); NTSTATUS _samr_connect_anon(pipes_struct *p, SAMR_Q_CONNECT_ANON *q_u, SAMR_R_CONNECT_ANON *r_u); NTSTATUS _samr_connect(pipes_struct *p, SAMR_Q_CONNECT *q_u, SAMR_R_CONNECT *r_u); NTSTATUS _samr_connect4(pipes_struct *p, SAMR_Q_CONNECT4 *q_u, SAMR_R_CONNECT4 *r_u); NTSTATUS _samr_lookup_domain(pipes_struct *p, SAMR_Q_LOOKUP_DOMAIN *q_u, SAMR_R_LOOKUP_DOMAIN *r_u); NTSTATUS _samr_enum_domains(pipes_struct *p, SAMR_Q_ENUM_DOMAINS *q_u, SAMR_R_ENUM_DOMAINS *r_u); NTSTATUS _samr_open_alias(pipes_struct *p, SAMR_Q_OPEN_ALIAS *q_u, SAMR_R_OPEN_ALIAS *r_u); NTSTATUS _samr_set_userinfo(pipes_struct *p, SAMR_Q_SET_USERINFO *q_u, SAMR_R_SET_USERINFO *r_u); NTSTATUS _samr_set_userinfo2(pipes_struct *p, SAMR_Q_SET_USERINFO2 *q_u, SAMR_R_SET_USERINFO2 *r_u); NTSTATUS _samr_query_useraliases(pipes_struct *p, SAMR_Q_QUERY_USERALIASES *q_u, SAMR_R_QUERY_USERALIASES *r_u); NTSTATUS _samr_query_aliasmem(pipes_struct *p, SAMR_Q_QUERY_ALIASMEM *q_u, SAMR_R_QUERY_ALIASMEM *r_u); NTSTATUS _samr_query_groupmem(pipes_struct *p, SAMR_Q_QUERY_GROUPMEM *q_u, SAMR_R_QUERY_GROUPMEM *r_u); NTSTATUS _samr_add_aliasmem(pipes_struct *p, SAMR_Q_ADD_ALIASMEM *q_u, SAMR_R_ADD_ALIASMEM *r_u); NTSTATUS _samr_del_aliasmem(pipes_struct *p, SAMR_Q_DEL_ALIASMEM *q_u, SAMR_R_DEL_ALIASMEM *r_u); NTSTATUS _samr_add_groupmem(pipes_struct *p, SAMR_Q_ADD_GROUPMEM *q_u, SAMR_R_ADD_GROUPMEM *r_u); NTSTATUS _samr_del_groupmem(pipes_struct *p, SAMR_Q_DEL_GROUPMEM *q_u, SAMR_R_DEL_GROUPMEM *r_u); NTSTATUS _samr_delete_dom_user(pipes_struct *p, SAMR_Q_DELETE_DOM_USER *q_u, SAMR_R_DELETE_DOM_USER *r_u ); NTSTATUS _samr_delete_dom_group(pipes_struct *p, SAMR_Q_DELETE_DOM_GROUP *q_u, SAMR_R_DELETE_DOM_GROUP *r_u); NTSTATUS _samr_delete_dom_alias(pipes_struct *p, SAMR_Q_DELETE_DOM_ALIAS *q_u, SAMR_R_DELETE_DOM_ALIAS *r_u); NTSTATUS _samr_create_dom_group(pipes_struct *p, SAMR_Q_CREATE_DOM_GROUP *q_u, SAMR_R_CREATE_DOM_GROUP *r_u); NTSTATUS _samr_create_dom_alias(pipes_struct *p, SAMR_Q_CREATE_DOM_ALIAS *q_u, SAMR_R_CREATE_DOM_ALIAS *r_u); NTSTATUS _samr_query_groupinfo(pipes_struct *p, SAMR_Q_QUERY_GROUPINFO *q_u, SAMR_R_QUERY_GROUPINFO *r_u); NTSTATUS _samr_set_groupinfo(pipes_struct *p, SAMR_Q_SET_GROUPINFO *q_u, SAMR_R_SET_GROUPINFO *r_u); NTSTATUS _samr_set_aliasinfo(pipes_struct *p, SAMR_Q_SET_ALIASINFO *q_u, SAMR_R_SET_ALIASINFO *r_u); NTSTATUS _samr_get_dom_pwinfo(pipes_struct *p, SAMR_Q_GET_DOM_PWINFO *q_u, SAMR_R_GET_DOM_PWINFO *r_u); NTSTATUS _samr_open_group(pipes_struct *p, SAMR_Q_OPEN_GROUP *q_u, SAMR_R_OPEN_GROUP *r_u); NTSTATUS _samr_remove_user_foreign_domain(pipes_struct *p, SAMR_Q_REMOVE_USER_FOREIGN_DOMAIN *q_u, SAMR_R_REMOVE_USER_FOREIGN_DOMAIN *r_u); NTSTATUS _samr_unknown_2e(pipes_struct *p, SAMR_Q_UNKNOWN_2E *q_u, SAMR_R_UNKNOWN_2E *r_u); NTSTATUS _samr_set_dom_info(pipes_struct *p, SAMR_Q_SET_DOMAIN_INFO *q_u, SAMR_R_SET_DOMAIN_INFO *r_u); void copy_id21_to_sam_passwd(SAM_ACCOUNT *to, SAM_USER_INFO_21 *from); void copy_id23_to_sam_passwd(SAM_ACCOUNT *to, SAM_USER_INFO_23 *from); void spoolss_get_pipe_fns( struct api_struct **fns, int *n_fns ); NTSTATUS rpc_spoolss_init(void); WERROR find_printer_in_print_hnd_cache( TALLOC_CTX *ctx, NT_PRINTER_INFO_LEVEL_2 **info2, const char *printername ); void invalidate_printer_hnd_cache( char *printername ); void do_drv_upgrade_printer(int msg_type, pid_t src, void *buf, size_t len); void update_monitored_printq_cache( void ); void reset_all_printerdata(int msg_type, pid_t src, void *buf, size_t len); WERROR _spoolss_open_printer(pipes_struct *p, SPOOL_Q_OPEN_PRINTER *q_u, SPOOL_R_OPEN_PRINTER *r_u); WERROR _spoolss_open_printer_ex( pipes_struct *p, SPOOL_Q_OPEN_PRINTER_EX *q_u, SPOOL_R_OPEN_PRINTER_EX *r_u); BOOL convert_devicemode(const char *printername, const DEVICEMODE *devmode, NT_DEVICEMODE **pp_nt_devmode); WERROR _spoolss_closeprinter(pipes_struct *p, SPOOL_Q_CLOSEPRINTER *q_u, SPOOL_R_CLOSEPRINTER *r_u); WERROR _spoolss_deleteprinter(pipes_struct *p, SPOOL_Q_DELETEPRINTER *q_u, SPOOL_R_DELETEPRINTER *r_u); WERROR _spoolss_deleteprinterdriver(pipes_struct *p, SPOOL_Q_DELETEPRINTERDRIVER *q_u, SPOOL_R_DELETEPRINTERDRIVER *r_u); WERROR _spoolss_deleteprinterdriverex(pipes_struct *p, SPOOL_Q_DELETEPRINTERDRIVEREX *q_u, SPOOL_R_DELETEPRINTERDRIVEREX *r_u); WERROR _spoolss_getprinterdata(pipes_struct *p, SPOOL_Q_GETPRINTERDATA *q_u, SPOOL_R_GETPRINTERDATA *r_u); WERROR _spoolss_rffpcnex(pipes_struct *p, SPOOL_Q_RFFPCNEX *q_u, SPOOL_R_RFFPCNEX *r_u); void spoolss_notify_server_name(int snum, SPOOL_NOTIFY_INFO_DATA *data, print_queue_struct *queue, NT_PRINTER_INFO_LEVEL *printer, TALLOC_CTX *mem_ctx) ; void spoolss_notify_printer_name(int snum, SPOOL_NOTIFY_INFO_DATA *data, print_queue_struct *queue, NT_PRINTER_INFO_LEVEL *printer, TALLOC_CTX *mem_ctx); void spoolss_notify_share_name(int snum, SPOOL_NOTIFY_INFO_DATA *data, print_queue_struct *queue, NT_PRINTER_INFO_LEVEL *printer, TALLOC_CTX *mem_ctx); void spoolss_notify_port_name(int snum, SPOOL_NOTIFY_INFO_DATA *data, print_queue_struct *queue, NT_PRINTER_INFO_LEVEL *printer, TALLOC_CTX *mem_ctx); void spoolss_notify_driver_name(int snum, SPOOL_NOTIFY_INFO_DATA *data, print_queue_struct *queue, NT_PRINTER_INFO_LEVEL *printer, TALLOC_CTX *mem_ctx); void spoolss_notify_comment(int snum, SPOOL_NOTIFY_INFO_DATA *data, print_queue_struct *queue, NT_PRINTER_INFO_LEVEL *printer, TALLOC_CTX *mem_ctx); void spoolss_notify_location(int snum, SPOOL_NOTIFY_INFO_DATA *data, print_queue_struct *queue, NT_PRINTER_INFO_LEVEL *printer, TALLOC_CTX *mem_ctx); void spoolss_notify_sepfile(int snum, SPOOL_NOTIFY_INFO_DATA *data, print_queue_struct *queue, NT_PRINTER_INFO_LEVEL *printer, TALLOC_CTX *mem_ctx); void spoolss_notify_print_processor(int snum, SPOOL_NOTIFY_INFO_DATA *data, print_queue_struct *queue, NT_PRINTER_INFO_LEVEL *printer, TALLOC_CTX *mem_ctx); void spoolss_notify_parameters(int snum, SPOOL_NOTIFY_INFO_DATA *data, print_queue_struct *queue, NT_PRINTER_INFO_LEVEL *printer, TALLOC_CTX *mem_ctx); void spoolss_notify_datatype(int snum, SPOOL_NOTIFY_INFO_DATA *data, print_queue_struct *queue, NT_PRINTER_INFO_LEVEL *printer, TALLOC_CTX *mem_ctx); void spoolss_notify_attributes(int snum, SPOOL_NOTIFY_INFO_DATA *data, print_queue_struct *queue, NT_PRINTER_INFO_LEVEL *printer, TALLOC_CTX *mem_ctx); void spoolss_notify_cjobs(int snum, SPOOL_NOTIFY_INFO_DATA *data, print_queue_struct *queue, NT_PRINTER_INFO_LEVEL *printer, TALLOC_CTX *mem_ctx); void construct_info_data(SPOOL_NOTIFY_INFO_DATA *info_data, unsigned short type, unsigned short field, int id); WERROR _spoolss_rfnpcnex( pipes_struct *p, SPOOL_Q_RFNPCNEX *q_u, SPOOL_R_RFNPCNEX *r_u); DEVICEMODE *construct_dev_mode(int snum); WERROR _spoolss_enumprinters( pipes_struct *p, SPOOL_Q_ENUMPRINTERS *q_u, SPOOL_R_ENUMPRINTERS *r_u); WERROR _spoolss_getprinter(pipes_struct *p, SPOOL_Q_GETPRINTER *q_u, SPOOL_R_GETPRINTER *r_u); WERROR _spoolss_getprinterdriver2(pipes_struct *p, SPOOL_Q_GETPRINTERDRIVER2 *q_u, SPOOL_R_GETPRINTERDRIVER2 *r_u); WERROR _spoolss_startpageprinter(pipes_struct *p, SPOOL_Q_STARTPAGEPRINTER *q_u, SPOOL_R_STARTPAGEPRINTER *r_u); WERROR _spoolss_endpageprinter(pipes_struct *p, SPOOL_Q_ENDPAGEPRINTER *q_u, SPOOL_R_ENDPAGEPRINTER *r_u); WERROR _spoolss_startdocprinter(pipes_struct *p, SPOOL_Q_STARTDOCPRINTER *q_u, SPOOL_R_STARTDOCPRINTER *r_u); WERROR _spoolss_enddocprinter(pipes_struct *p, SPOOL_Q_ENDDOCPRINTER *q_u, SPOOL_R_ENDDOCPRINTER *r_u); WERROR _spoolss_writeprinter(pipes_struct *p, SPOOL_Q_WRITEPRINTER *q_u, SPOOL_R_WRITEPRINTER *r_u); WERROR _spoolss_abortprinter(pipes_struct *p, SPOOL_Q_ABORTPRINTER *q_u, SPOOL_R_ABORTPRINTER *r_u); WERROR _spoolss_setprinter(pipes_struct *p, SPOOL_Q_SETPRINTER *q_u, SPOOL_R_SETPRINTER *r_u); WERROR _spoolss_fcpn(pipes_struct *p, SPOOL_Q_FCPN *q_u, SPOOL_R_FCPN *r_u); WERROR _spoolss_addjob(pipes_struct *p, SPOOL_Q_ADDJOB *q_u, SPOOL_R_ADDJOB *r_u); WERROR _spoolss_enumjobs( pipes_struct *p, SPOOL_Q_ENUMJOBS *q_u, SPOOL_R_ENUMJOBS *r_u); WERROR _spoolss_schedulejob( pipes_struct *p, SPOOL_Q_SCHEDULEJOB *q_u, SPOOL_R_SCHEDULEJOB *r_u); WERROR _spoolss_setjob(pipes_struct *p, SPOOL_Q_SETJOB *q_u, SPOOL_R_SETJOB *r_u); WERROR _spoolss_enumprinterdrivers( pipes_struct *p, SPOOL_Q_ENUMPRINTERDRIVERS *q_u, SPOOL_R_ENUMPRINTERDRIVERS *r_u); WERROR _spoolss_enumforms(pipes_struct *p, SPOOL_Q_ENUMFORMS *q_u, SPOOL_R_ENUMFORMS *r_u); WERROR _spoolss_getform(pipes_struct *p, SPOOL_Q_GETFORM *q_u, SPOOL_R_GETFORM *r_u); WERROR _spoolss_enumports( pipes_struct *p, SPOOL_Q_ENUMPORTS *q_u, SPOOL_R_ENUMPORTS *r_u); WERROR _spoolss_addprinterex( pipes_struct *p, SPOOL_Q_ADDPRINTEREX *q_u, SPOOL_R_ADDPRINTEREX *r_u); WERROR _spoolss_addprinterdriver(pipes_struct *p, SPOOL_Q_ADDPRINTERDRIVER *q_u, SPOOL_R_ADDPRINTERDRIVER *r_u); WERROR _spoolss_addprinterdriverex(pipes_struct *p, SPOOL_Q_ADDPRINTERDRIVEREX *q_u, SPOOL_R_ADDPRINTERDRIVEREX *r_u); WERROR _spoolss_getprinterdriverdirectory(pipes_struct *p, SPOOL_Q_GETPRINTERDRIVERDIR *q_u, SPOOL_R_GETPRINTERDRIVERDIR *r_u); WERROR _spoolss_enumprinterdata(pipes_struct *p, SPOOL_Q_ENUMPRINTERDATA *q_u, SPOOL_R_ENUMPRINTERDATA *r_u); WERROR _spoolss_setprinterdata( pipes_struct *p, SPOOL_Q_SETPRINTERDATA *q_u, SPOOL_R_SETPRINTERDATA *r_u); WERROR _spoolss_resetprinter(pipes_struct *p, SPOOL_Q_RESETPRINTER *q_u, SPOOL_R_RESETPRINTER *r_u); WERROR _spoolss_deleteprinterdata(pipes_struct *p, SPOOL_Q_DELETEPRINTERDATA *q_u, SPOOL_R_DELETEPRINTERDATA *r_u); WERROR _spoolss_addform( pipes_struct *p, SPOOL_Q_ADDFORM *q_u, SPOOL_R_ADDFORM *r_u); WERROR _spoolss_deleteform( pipes_struct *p, SPOOL_Q_DELETEFORM *q_u, SPOOL_R_DELETEFORM *r_u); WERROR _spoolss_setform(pipes_struct *p, SPOOL_Q_SETFORM *q_u, SPOOL_R_SETFORM *r_u); WERROR _spoolss_enumprintprocessors(pipes_struct *p, SPOOL_Q_ENUMPRINTPROCESSORS *q_u, SPOOL_R_ENUMPRINTPROCESSORS *r_u); WERROR _spoolss_enumprintprocdatatypes(pipes_struct *p, SPOOL_Q_ENUMPRINTPROCDATATYPES *q_u, SPOOL_R_ENUMPRINTPROCDATATYPES *r_u); WERROR _spoolss_enumprintmonitors(pipes_struct *p, SPOOL_Q_ENUMPRINTMONITORS *q_u, SPOOL_R_ENUMPRINTMONITORS *r_u); WERROR _spoolss_getjob( pipes_struct *p, SPOOL_Q_GETJOB *q_u, SPOOL_R_GETJOB *r_u); WERROR _spoolss_getprinterdataex(pipes_struct *p, SPOOL_Q_GETPRINTERDATAEX *q_u, SPOOL_R_GETPRINTERDATAEX *r_u); WERROR _spoolss_setprinterdataex(pipes_struct *p, SPOOL_Q_SETPRINTERDATAEX *q_u, SPOOL_R_SETPRINTERDATAEX *r_u); WERROR _spoolss_deleteprinterdataex(pipes_struct *p, SPOOL_Q_DELETEPRINTERDATAEX *q_u, SPOOL_R_DELETEPRINTERDATAEX *r_u); WERROR _spoolss_enumprinterkey(pipes_struct *p, SPOOL_Q_ENUMPRINTERKEY *q_u, SPOOL_R_ENUMPRINTERKEY *r_u); WERROR _spoolss_deleteprinterkey(pipes_struct *p, SPOOL_Q_DELETEPRINTERKEY *q_u, SPOOL_R_DELETEPRINTERKEY *r_u); WERROR _spoolss_enumprinterdataex(pipes_struct *p, SPOOL_Q_ENUMPRINTERDATAEX *q_u, SPOOL_R_ENUMPRINTERDATAEX *r_u); WERROR _spoolss_getprintprocessordirectory(pipes_struct *p, SPOOL_Q_GETPRINTPROCESSORDIRECTORY *q_u, SPOOL_R_GETPRINTPROCESSORDIRECTORY *r_u); WERROR _spoolss_replyopenprinter(pipes_struct *p, SPOOL_Q_REPLYOPENPRINTER *q_u, SPOOL_R_REPLYOPENPRINTER *r_u); WERROR _spoolss_replycloseprinter(pipes_struct *p, SPOOL_Q_REPLYCLOSEPRINTER *q_u, SPOOL_R_REPLYCLOSEPRINTER *r_u); void srvsvc_get_pipe_fns( struct api_struct **fns, int *n_fns ); NTSTATUS rpc_srv_init(void); BOOL share_info_db_init(void); void map_generic_share_sd_bits(SEC_DESC *psd); BOOL share_access_check(connection_struct *conn, int snum, user_struct *vuser, unsigned int desired_access); WERROR _srv_net_srv_get_info(pipes_struct *p, SRV_Q_NET_SRV_GET_INFO *q_u, SRV_R_NET_SRV_GET_INFO *r_u); WERROR _srv_net_srv_set_info(pipes_struct *p, SRV_Q_NET_SRV_SET_INFO *q_u, SRV_R_NET_SRV_SET_INFO *r_u); WERROR _srv_net_file_enum(pipes_struct *p, SRV_Q_NET_FILE_ENUM *q_u, SRV_R_NET_FILE_ENUM *r_u); WERROR _srv_net_conn_enum(pipes_struct *p, SRV_Q_NET_CONN_ENUM *q_u, SRV_R_NET_CONN_ENUM *r_u); WERROR _srv_net_sess_enum(pipes_struct *p, SRV_Q_NET_SESS_ENUM *q_u, SRV_R_NET_SESS_ENUM *r_u); WERROR _srv_net_share_enum_all(pipes_struct *p, SRV_Q_NET_SHARE_ENUM *q_u, SRV_R_NET_SHARE_ENUM *r_u); WERROR _srv_net_share_enum(pipes_struct *p, SRV_Q_NET_SHARE_ENUM *q_u, SRV_R_NET_SHARE_ENUM *r_u); WERROR _srv_net_share_get_info(pipes_struct *p, SRV_Q_NET_SHARE_GET_INFO *q_u, SRV_R_NET_SHARE_GET_INFO *r_u); WERROR _srv_net_share_set_info(pipes_struct *p, SRV_Q_NET_SHARE_SET_INFO *q_u, SRV_R_NET_SHARE_SET_INFO *r_u); WERROR _srv_net_share_add(pipes_struct *p, SRV_Q_NET_SHARE_ADD *q_u, SRV_R_NET_SHARE_ADD *r_u); WERROR _srv_net_share_del(pipes_struct *p, SRV_Q_NET_SHARE_DEL *q_u, SRV_R_NET_SHARE_DEL *r_u); WERROR _srv_net_share_del_sticky(pipes_struct *p, SRV_Q_NET_SHARE_DEL *q_u, SRV_R_NET_SHARE_DEL *r_u); WERROR _srv_net_remote_tod(pipes_struct *p, SRV_Q_NET_REMOTE_TOD *q_u, SRV_R_NET_REMOTE_TOD *r_u); WERROR _srv_net_file_query_secdesc(pipes_struct *p, SRV_Q_NET_FILE_QUERY_SECDESC *q_u, SRV_R_NET_FILE_QUERY_SECDESC *r_u); WERROR _srv_net_file_set_secdesc(pipes_struct *p, SRV_Q_NET_FILE_SET_SECDESC *q_u, SRV_R_NET_FILE_SET_SECDESC *r_u); WERROR _srv_net_disk_enum(pipes_struct *p, SRV_Q_NET_DISK_ENUM *q_u, SRV_R_NET_DISK_ENUM *r_u); WERROR _srv_net_name_validate(pipes_struct *p, SRV_Q_NET_NAME_VALIDATE *q_u, SRV_R_NET_NAME_VALIDATE *r_u); NTSTATUS get_alias_user_groups(TALLOC_CTX *ctx, DOM_SID *sid, int *numgroups, unsigned int **prids, DOM_SID *q_sid); BOOL get_domain_user_groups(TALLOC_CTX *ctx, int *numgroups, DOM_GID **pgids, SAM_ACCOUNT *sam_pass); NTSTATUS nt_token_to_group_list(TALLOC_CTX *mem_ctx, const DOM_SID *domain_sid, const NT_USER_TOKEN *nt_token, int *numgroups, DOM_GID **pgids) ; NTSTATUS local_lookup_group_name(unsigned int rid, char *group_name, unsigned int *type); NTSTATUS local_lookup_alias_name(unsigned int rid, char *alias_name, unsigned int *type); NTSTATUS local_lookup_user_name(unsigned int rid, char *user_name, unsigned int *type); NTSTATUS local_lookup_group_rid(char *group_name, unsigned int *rid); NTSTATUS local_lookup_alias_rid(const char *alias_name, unsigned int *rid); NTSTATUS local_lookup_user_rid(char *user_name, unsigned int *rid); void wkssvc_get_pipe_fns( struct api_struct **fns, int *n_fns ); NTSTATUS rpc_wks_init(void); NTSTATUS _wks_query_info(pipes_struct *p, WKS_Q_QUERY_INFO *q_u, WKS_R_QUERY_INFO *r_u); # 5744 "include/proto.h" void set_drv_info_3_env (DRIVER_INFO_3 *info, const char *arch); char *get_sec_mask_str(unsigned int type); void display_sec_access(SEC_ACCESS *info); void display_sec_ace(SEC_ACE *ace); void display_sec_acl(SEC_ACL *sec_acl); void display_sec_desc(SEC_DESC *sec); NTSTATUS smb_register_idmap(int version, const char *name, struct idmap_methods *methods); BOOL idmap_init(const char *remote_backend); NTSTATUS idmap_set_mapping(const DOM_SID *sid, unid_t id, int id_type); NTSTATUS idmap_get_id_from_sid(unid_t *id, int *id_type, const DOM_SID *sid); NTSTATUS idmap_get_sid_from_id(DOM_SID *sid, unid_t id, int id_type); NTSTATUS idmap_allocate_id(unid_t *id, int id_type); NTSTATUS idmap_allocate_rid(unsigned int *rid, int type); NTSTATUS idmap_close(void); void idmap_status(void); TDB_CONTEXT *idmap_tdb_handle( void ); NTSTATUS idmap_tdb_init(void); unsigned int idmap_get_free_rid_base(void); BOOL idmap_check_ugid_is_in_free_range(unsigned int id); BOOL idmap_check_rid_is_in_free_range(unsigned int rid); BOOL idmap_check_sid_is_in_free_range(const DOM_SID *sid); NTSTATUS idmap_uid_to_sid(DOM_SID *sid, uid_t uid); NTSTATUS idmap_gid_to_sid(DOM_SID *sid, gid_t gid); NTSTATUS idmap_sid_to_uid(const DOM_SID *sid, uid_t *uid, unsigned int flags); NTSTATUS idmap_sid_to_gid(const DOM_SID *sid, gid_t *gid, unsigned int flags); BOOL idmap_init_wellknown_sids(void); BOOL push_blocking_lock_request( char *inbuf, int length, int lock_timeout, int lock_num, unsigned short lock_pid, unsigned long long offset, unsigned long long count); void remove_pending_lock_requests_by_fid(files_struct *fsp); void remove_pending_lock_requests_by_mid(int mid); unsigned blocking_locks_timeout(unsigned default_timeout); void process_blocking_lock_queue(time_t t); NTSTATUS change_trust_account_password( const char *domain, const char *remote_machine); BOOL chgpasswd(const char *name, const char *oldpass, const char *newpass, BOOL as_root); BOOL chgpasswd(const char *name, const char *oldpass, const char *newpass, BOOL as_root); BOOL check_lanman_password(char *user, unsigned char * pass1, unsigned char * pass2, SAM_ACCOUNT **hnd); BOOL change_lanman_password(SAM_ACCOUNT *sampass, unsigned char *pass2); NTSTATUS pass_oem_change(char *user, unsigned char * lmdata, unsigned char * lmhash, unsigned char * ntdata, unsigned char * nthash); NTSTATUS change_oem_password(SAM_ACCOUNT *hnd, char *old_passwd, char *new_passwd, BOOL as_root); int close_file(files_struct *fsp, BOOL normal_close); void conn_init(void); int conn_num_open(void); BOOL conn_snum_used(int snum); connection_struct *conn_find(unsigned cnum); connection_struct *conn_new(void); void conn_close_all(void); BOOL conn_idle_all(time_t t, int deadtime); void conn_clear_vuid_cache(unsigned short vuid); void conn_free(connection_struct *conn); void msg_force_tdis(int msg_type, pid_t pid, void *buf, size_t len); TDB_CONTEXT *conn_tdb_ctx(void); BOOL yield_connection(connection_struct *conn, const char *name); BOOL claim_connection(connection_struct *conn, const char *name,int max_connections,BOOL Clear, unsigned int msg_flags); BOOL register_message_flags(BOOL doreg, unsigned int msg_flags); unsigned long long sys_disk_free(const char *path, BOOL small_query, unsigned long long *bsize,unsigned long long *dfree,unsigned long long *dsize); void init_dptrs(void); char *dptr_path(int key); char *dptr_wcard(int key); BOOL dptr_set_wcard(int key, char *wcard); BOOL dptr_set_attr(int key, unsigned short attr); unsigned short dptr_attr(int key); void dptr_close(int *key); void dptr_closecnum(connection_struct *conn); void dptr_idlecnum(connection_struct *conn); void dptr_closepath(char *path,unsigned short spid); int dptr_create(connection_struct *conn, pstring path, BOOL old_handle, BOOL expect_close,unsigned short spid); BOOL dptr_fill(char *buf1,unsigned int key); void *dptr_fetch(char *buf,int *num); void *dptr_fetch_lanman2(int dptr_num); BOOL dir_check_ftype(connection_struct *conn,int mode,struct stat *st,int dirtype); BOOL get_dir_entry(connection_struct *conn,char *mask,int dirtype, pstring fname, off_t *size,int *mode,time_t *date,BOOL check_descend); void *OpenDir(connection_struct *conn, const char *name, BOOL use_veto); void CloseDir(void *p); const char *ReadDirName(void *p); BOOL SeekDir(void *p,int pos); int TellDir(void *p); void DirCacheAdd( const char *path, const char *name, const char *dname, int snum ); char *DirCacheCheck( const char *path, const char *name, int snum ); void DirCacheFlush(int snum); mode_t unix_mode(connection_struct *conn,int dosmode,const char *fname); unsigned int dos_mode(connection_struct *conn,char *path,struct stat *sbuf); int file_chmod(connection_struct *conn,char *fname, unsigned int dosmode,struct stat *st); int file_utime(connection_struct *conn, char *fname, struct utimbuf *times); BOOL set_filetime(connection_struct *conn, char *fname, time_t mtime); int cached_error_packet(char *outbuf,files_struct *fsp,int line,const char *file); int unix_error_packet(char *outbuf,int def_class,unsigned int def_code, int line, const char *file); int error_packet(char *outbuf,NTSTATUS ntstatus, unsigned char eclass,unsigned int ecode,int line, const char *file); files_struct *open_fake_file_shared1(enum FAKE_FILE_TYPE fake_file_type, connection_struct *conn,char *fname, struct stat *psbuf, unsigned int desired_access, int share_mode,int ofun, mode_t mode,int oplock_request, int *Access,int *action); int is_fake_file(char *fname); struct _FAKE_FILE_HANDLE *init_fake_file_handle(enum FAKE_FILE_TYPE type); void destroy_fake_file_handle(FAKE_FILE_HANDLE **fh); ssize_t read_file(files_struct *fsp,char *data,off_t pos,size_t n); ssize_t write_file(files_struct *fsp, char *data, off_t pos, size_t n); void delete_write_cache(files_struct *fsp); void set_filelen_write_cache(files_struct *fsp, off_t file_size); ssize_t flush_write_cache(files_struct *fsp, enum flush_reason_enum reason); void sync_file(connection_struct *conn, files_struct *fsp); int fsp_stat(files_struct *fsp, struct stat *pst); BOOL unix_convert(pstring name,connection_struct *conn,char *saved_last_component, BOOL *bad_path, struct stat *pst); BOOL check_name(pstring name,connection_struct *conn); files_struct *file_new(connection_struct *conn); void file_close_conn(connection_struct *conn); void file_close_pid(unsigned short smbpid); void file_init(void); void file_close_user(int vuid); void file_dump_open_table(void); files_struct *file_find_fd(int fd); files_struct *file_find_dif(dev_t dev, ino_t inode, unsigned long file_id); files_struct *file_find_fsp(files_struct *orig_fsp); files_struct *file_find_di_first(dev_t dev, ino_t inode); files_struct *file_find_di_next(files_struct *start_fsp); files_struct *file_find_print(void); void file_sync_all(connection_struct *conn); void file_free(files_struct *fsp); files_struct *file_fsp(char *buf, int where); void file_chain_reset(void); void file_chain_save(void); void file_chain_restore(void); void send_trans_reply(char *outbuf, char *rparam, int rparam_len, char *rdata, int rdata_len, BOOL buffer_too_large); int reply_trans(connection_struct *conn, char *inbuf,char *outbuf, int size, int bufsize); int api_reply(connection_struct *conn,unsigned short vuid,char *outbuf,char *data,char *params, int tdscnt,int tpscnt,int mdrcnt,int mprcnt); void mangle_reset_cache(void); BOOL mangle_is_mangled(const char *s); BOOL mangle_is_8_3(const char *fname, BOOL check_case); BOOL mangle_is_8_3_wildcards(const char *fname, BOOL check_case); BOOL mangle_check_cache(char *s); void mangle_map(pstring OutName, BOOL need83, BOOL cache83, int snum); struct mangle_fns *mangle_hash_init(void); struct mangle_fns *mangle_hash2_init(void); void mangle_map_filename(fstring fname, int snum); int reply_sends(connection_struct *conn, char *inbuf,char *outbuf, int dum_size, int dum_buffsize); int reply_sendstrt(connection_struct *conn, char *inbuf,char *outbuf, int dum_size, int dum_buffsize); int reply_sendtxt(connection_struct *conn, char *inbuf,char *outbuf, int dum_size, int dum_buffsize); int reply_sendend(connection_struct *conn, char *inbuf,char *outbuf, int dum_size, int dum_buffsize); int reply_negprot(connection_struct *conn, char *inbuf,char *outbuf, int dum_size, int dum_buffsize); void remove_pending_change_notify_requests_by_fid(files_struct *fsp); void remove_pending_change_notify_requests_by_mid(int mid); void remove_pending_change_notify_requests_by_filename(files_struct *fsp); int change_notify_timeout(void); BOOL process_pending_change_notify_queue(time_t t); BOOL change_notify_set(char *inbuf, files_struct *fsp, connection_struct *conn, unsigned int flags); BOOL init_change_notify(void); struct cnotify_fns *hash_notify_init(void) ; struct cnotify_fns *kernel_notify_init(void) ; int vfs_get_ntquota(files_struct *fsp, enum SMB_QUOTA_TYPE qtype, DOM_SID *psid, SMB_NTQUOTA_STRUCT *qt); int vfs_set_ntquota(files_struct *fsp, enum SMB_QUOTA_TYPE qtype, DOM_SID *psid, SMB_NTQUOTA_STRUCT *qt); int vfs_get_user_ntquota_list(files_struct *fsp, SMB_NTQUOTA_LIST **qt_list); void *init_quota_handle(TALLOC_CTX *mem_ctx); void destroy_quota_handle(void **pqt_handle); char *nttrans_realloc(char **ptr, size_t size); int reply_ntcreate_and_X(connection_struct *conn, char *inbuf,char *outbuf,int length,int bufsize); int reply_ntcancel(connection_struct *conn, char *inbuf,char *outbuf,int length,int bufsize); int reply_nttranss(connection_struct *conn, char *inbuf,char *outbuf,int length,int bufsize); int reply_nttrans(connection_struct *conn, char *inbuf,char *outbuf,int length,int bufsize); int fd_close(struct connection_struct *conn, files_struct *fsp); files_struct *open_file_shared(connection_struct *conn,char *fname, struct stat *psbuf, int share_mode,int ofun, mode_t mode,int oplock_request, int *Access,int *action); files_struct *open_file_shared1(connection_struct *conn,char *fname, struct stat *psbuf, unsigned int desired_access, int share_mode,int ofun, mode_t mode,int oplock_request, int *Access,int *action); files_struct *open_file_fchmod(connection_struct *conn, const char *fname, struct stat *psbuf); int close_file_fchmod(files_struct *fsp); files_struct *open_directory(connection_struct *conn, char *fname, struct stat *psbuf, unsigned int desired_access, int share_mode, int smb_ofun, mode_t unixmode, int *action); files_struct *open_file_stat(connection_struct *conn, char *fname, struct stat *psbuf); int get_number_of_exclusive_open_oplocks(void); BOOL oplock_message_waiting(fd_set *fds); BOOL receive_local_message( char *buffer, int buffer_len, int timeout); BOOL set_file_oplock(files_struct *fsp, int oplock_type); void release_file_oplock(files_struct *fsp); BOOL remove_oplock(files_struct *fsp, BOOL break_to_none); int setup_oplock_select_set( fd_set *fds); BOOL process_local_message(char *buffer, int buf_size); BOOL oplock_break_level2(files_struct *fsp, BOOL local_request, int token); BOOL request_oplock_break(share_mode_entry *share_entry, BOOL async); BOOL attempt_close_oplocked_file(files_struct *fsp); void release_level_2_oplocks_on_change(files_struct *fsp); BOOL init_oplocks(void); struct kernel_oplocks *irix_init_kernel_oplocks(void) ; struct kernel_oplocks *linux_init_kernel_oplocks(void) ; user_struct *get_valid_user_struct(unsigned short vuid); void invalidate_vuid(unsigned short vuid); void invalidate_all_vuids(void); int register_vuid(auth_serversupplied_info *server_info, DATA_BLOB response_blob, const char *smb_name); void add_session_user(const char *user); BOOL user_ok(const char *user,int snum, gid_t *groups, size_t n_groups); BOOL authorise_login(int snum, fstring user, DATA_BLOB password, BOOL *guest); int reply_open_pipe_and_X(connection_struct *conn, char *inbuf,char *outbuf,int length,int bufsize); int reply_pipe_write(char *inbuf,char *outbuf,int length,int dum_bufsize); int reply_pipe_write_and_X(char *inbuf,char *outbuf,int length,int bufsize); int reply_pipe_read_and_X(char *inbuf,char *outbuf,int length,int bufsize); int reply_pipe_close(connection_struct *conn, char *inbuf,char *outbuf); SMB_ACL_T free_empty_sys_acl(connection_struct *conn, SMB_ACL_T the_acl); size_t get_nt_acl(files_struct *fsp, unsigned int security_info, SEC_DESC **ppdesc); BOOL set_nt_acl(files_struct *fsp, unsigned int security_info_sent, SEC_DESC *psd); int chmod_acl(connection_struct *conn, const char *name, mode_t mode); int inherit_access_acl(connection_struct *conn, const char *name, mode_t mode); int fchmod_acl(files_struct *fsp, int fd, mode_t mode); BOOL directory_has_default_acl(connection_struct *conn, const char *fname); unsigned short get_current_mid(void); BOOL push_oplock_pending_smb_message(char *buf, int msg_len); BOOL receive_next_smb(char *inbuf, int bufsize, int timeout); void respond_to_all_remaining_local_messages(void); void decrement_smbd_process_count(void); void process_smb(char *inbuf, char *outbuf); const char *smb_fn_name(int type); void construct_reply_common(char *inbuf,char *outbuf); int chain_reply(char *inbuf,char *outbuf,int size,int bufsize); void check_reload(int t); void smbd_process(void); BOOL disk_quotas(const char *path, unsigned long long *bsize, unsigned long long *dfree, unsigned long long *dsize); BOOL disk_quotas(const char *path, unsigned long long *bsize, unsigned long long *dfree, unsigned long long *dsize); BOOL disk_quotas(const char *path, unsigned long long *bsize, unsigned long long *dfree, unsigned long long *dsize); BOOL disk_quotas(const char *path, unsigned long long *bsize, unsigned long long *dfree, unsigned long long *dsize); BOOL disk_quotas(const char *path, unsigned long long *bsize, unsigned long long *dfree, unsigned long long *dsize); BOOL disk_quotas(const char *path, unsigned long long *bsize, unsigned long long *dfree, unsigned long long *dsize); BOOL disk_quotas_vxfs(const pstring name, char *path, unsigned long long *bsize, unsigned long long *dfree, unsigned long long *dsize); BOOL disk_quotas(const char *path,unsigned long long *bsize,unsigned long long *dfree,unsigned long long *dsize); BOOL disk_quotas(const char *path,unsigned long long *bsize,unsigned long long *dfree,unsigned long long *dsize); int reply_special(char *inbuf,char *outbuf); int reply_tcon(connection_struct *conn, char *inbuf,char *outbuf, int dum_size, int dum_buffsize); int reply_tcon_and_X(connection_struct *conn, char *inbuf,char *outbuf,int length,int bufsize); int reply_unknown(char *inbuf,char *outbuf); int reply_ioctl(connection_struct *conn, char *inbuf,char *outbuf, int dum_size, int dum_buffsize); int reply_chkpth(connection_struct *conn, char *inbuf,char *outbuf, int dum_size, int dum_buffsize); int reply_getatr(connection_struct *conn, char *inbuf,char *outbuf, int dum_size, int dum_buffsize); int reply_setatr(connection_struct *conn, char *inbuf,char *outbuf, int dum_size, int dum_buffsize); int reply_dskattr(connection_struct *conn, char *inbuf,char *outbuf, int dum_size, int dum_buffsize); int reply_search(connection_struct *conn, char *inbuf,char *outbuf, int dum_size, int dum_buffsize); int reply_fclose(connection_struct *conn, char *inbuf,char *outbuf, int dum_size, int dum_buffsize); int reply_open(connection_struct *conn, char *inbuf,char *outbuf, int dum_size, int dum_buffsize); int reply_open_and_X(connection_struct *conn, char *inbuf,char *outbuf,int length,int bufsize); int reply_ulogoffX(connection_struct *conn, char *inbuf,char *outbuf,int length,int bufsize); int reply_mknew(connection_struct *conn, char *inbuf,char *outbuf, int dum_size, int dum_buffsize); int reply_ctemp(connection_struct *conn, char *inbuf,char *outbuf, int dum_size, int dum_buffsize); NTSTATUS unlink_internals(connection_struct *conn, int dirtype, char *name); int reply_unlink(connection_struct *conn, char *inbuf,char *outbuf, int dum_size, int dum_buffsize); void fail_readraw(void); void send_file_readbraw(connection_struct *conn, files_struct *fsp, off_t startpos, size_t nread, ssize_t mincount, char *outbuf); int reply_readbraw(connection_struct *conn, char *inbuf, char *outbuf, int dum_size, int dum_buffsize); int reply_lockread(connection_struct *conn, char *inbuf,char *outbuf, int length, int dum_buffsiz); int reply_read(connection_struct *conn, char *inbuf,char *outbuf, int size, int dum_buffsize); int send_file_readX(connection_struct *conn, char *inbuf,char *outbuf,int length, files_struct *fsp, off_t startpos, size_t smb_maxcnt); int reply_read_and_X(connection_struct *conn, char *inbuf,char *outbuf,int length,int bufsize); int reply_writebraw(connection_struct *conn, char *inbuf,char *outbuf, int size, int dum_buffsize); int reply_writeunlock(connection_struct *conn, char *inbuf,char *outbuf, int size, int dum_buffsize); int reply_write(connection_struct *conn, char *inbuf,char *outbuf,int size,int dum_buffsize); int reply_write_and_X(connection_struct *conn, char *inbuf,char *outbuf,int length,int bufsize); int reply_lseek(connection_struct *conn, char *inbuf,char *outbuf, int size, int dum_buffsize); int reply_flush(connection_struct *conn, char *inbuf,char *outbuf, int size, int dum_buffsize); int reply_exit(connection_struct *conn, char *inbuf,char *outbuf, int dum_size, int dum_buffsize); int reply_close(connection_struct *conn, char *inbuf,char *outbuf, int size, int dum_buffsize); int reply_writeclose(connection_struct *conn, char *inbuf,char *outbuf, int size, int dum_buffsize); int reply_lock(connection_struct *conn, char *inbuf,char *outbuf, int length, int dum_buffsize); int reply_unlock(connection_struct *conn, char *inbuf,char *outbuf, int size, int dum_buffsize); int reply_tdis(connection_struct *conn, char *inbuf,char *outbuf, int dum_size, int dum_buffsize); int reply_echo(connection_struct *conn, char *inbuf,char *outbuf, int dum_size, int dum_buffsize); int reply_printopen(connection_struct *conn, char *inbuf,char *outbuf, int dum_size, int dum_buffsize); int reply_printclose(connection_struct *conn, char *inbuf,char *outbuf, int dum_size, int dum_buffsize); int reply_printqueue(connection_struct *conn, char *inbuf,char *outbuf, int dum_size, int dum_buffsize); int reply_printwrite(connection_struct *conn, char *inbuf,char *outbuf, int dum_size, int dum_buffsize); NTSTATUS mkdir_internal(connection_struct *conn, pstring directory); int reply_mkdir(connection_struct *conn, char *inbuf,char *outbuf, int dum_size, int dum_buffsize); BOOL rmdir_internals(connection_struct *conn, char *directory); int reply_rmdir(connection_struct *conn, char *inbuf,char *outbuf, int dum_size, int dum_buffsize); NTSTATUS rename_internals_fsp(connection_struct *conn, files_struct *fsp, char *newname, BOOL replace_if_exists); NTSTATUS rename_internals(connection_struct *conn, char *name, char *newname, BOOL replace_if_exists); int reply_mv(connection_struct *conn, char *inbuf,char *outbuf, int dum_size, int dum_buffsize); int reply_copy(connection_struct *conn, char *inbuf,char *outbuf, int dum_size, int dum_buffsize); int reply_setdir(connection_struct *conn, char *inbuf,char *outbuf, int dum_size, int dum_buffsize); unsigned short get_lock_pid( char *data, int data_offset, BOOL large_file_format); unsigned long long get_lock_count( char *data, int data_offset, BOOL large_file_format); unsigned long long get_lock_offset( char *data, int data_offset, BOOL large_file_format, BOOL *err); int reply_lockingX(connection_struct *conn, char *inbuf,char *outbuf,int length,int bufsize); int reply_readbmpx(connection_struct *conn, char *inbuf,char *outbuf,int length,int bufsize); int reply_setattrE(connection_struct *conn, char *inbuf,char *outbuf, int size, int dum_buffsize); int reply_writebmpx(connection_struct *conn, char *inbuf,char *outbuf, int size, int dum_buffsize); int reply_writebs(connection_struct *conn, char *inbuf,char *outbuf, int dum_size, int dum_buffsize); int reply_getattrE(connection_struct *conn, char *inbuf,char *outbuf, int size, int dum_buffsize); int get_current_groups(gid_t gid, int *p_ngroups, gid_t **p_groups); BOOL initialise_groups(char *user, uid_t uid, gid_t gid); BOOL push_sec_ctx(void); void set_sec_ctx(uid_t uid, gid_t gid, int ngroups, gid_t *groups, NT_USER_TOKEN *token); void set_root_sec_ctx(void); BOOL pop_sec_ctx(void); void init_sec_ctx(void); int smbd_server_fd(void); BOOL allowable_number_of_smbd_processes(void); BOOL reload_services(BOOL test); void exit_server(const char *reason); BOOL set_current_service(connection_struct *conn,BOOL do_chdir); int add_home_service(const char *service, const char *username, const char *homedir); int find_service(fstring service); connection_struct *make_connection_with_chdir(const char *service_in, DATA_BLOB password, const char *dev, unsigned short vuid, NTSTATUS *status); connection_struct *make_connection(const char *service_in, DATA_BLOB password, const char *pdev, unsigned short vuid, NTSTATUS *status); void close_cnum(connection_struct *conn, unsigned short vuid); BOOL session_claim(user_struct *vuser); void session_yield(user_struct *vuser); int list_sessions(struct sessionid **session_list); int reply_sesssetup_and_X(connection_struct *conn, char *inbuf,char *outbuf, int length,int bufsize); size_t srvstr_push_fn(const char *function, unsigned int line, const char *base_ptr, void *dest, const char *src, int dest_len, int flags); void stat_cache_add( const char *full_orig_name, const char *orig_translated_path); BOOL stat_cache_lookup(connection_struct *conn, pstring name, pstring dirpath, char **start, struct stat *pst); BOOL reset_stat_cache( void ); unsigned long long get_allocation_size(files_struct *fsp, struct stat *sbuf); time_t interpret_long_unix_date(char *p); int set_bad_path_error(int err, BOOL bad_path, char *outbuf, int def_class, unsigned int def_code); NTSTATUS set_delete_on_close_internal(files_struct *fsp, BOOL delete_on_close); NTSTATUS set_delete_on_close_over_all(files_struct *fsp, BOOL delete_on_close); int reply_findclose(connection_struct *conn, char *inbuf,char *outbuf,int length,int bufsize); int reply_findnclose(connection_struct *conn, char *inbuf,char *outbuf,int length,int bufsize); int reply_transs2(connection_struct *conn, char *inbuf,char *outbuf,int length,int bufsize); int reply_trans2(connection_struct *conn, char *inbuf,char *outbuf,int length,int bufsize); BOOL change_to_guest(void); BOOL change_to_user(connection_struct *conn, unsigned short vuid); BOOL change_to_root_user(void); BOOL become_authenticated_pipe_user(pipes_struct *p); BOOL unbecome_authenticated_pipe_user(void); void init_conn_ctx(void); void become_root(void); void unbecome_root(void); BOOL become_user(connection_struct *conn, unsigned short vuid); BOOL unbecome_user(void); void add_supplementary_nt_login_groups(int *n_groups, gid_t **pp_groups, NT_USER_TOKEN **pptok); void sys_utmp_claim(const char *username, const char *hostname, struct in_addr *ipaddr, const char *id_str, int id_num); void sys_utmp_yield(const char *username, const char *hostname, struct in_addr *ipaddr, const char *id_str, int id_num); void sys_utmp_yield(const char *username, const char *hostname, struct in_addr *ipaddr, const char *id_str, int id_num); void sys_utmp_claim(const char *username, const char *hostname, struct in_addr *ipaddr, const char *id_str, int id_num); int vfswrap_dummy_connect(vfs_handle_struct *handle, connection_struct *conn, const char *service, const char *user); void vfswrap_dummy_disconnect(vfs_handle_struct *handle, connection_struct *conn); unsigned long long vfswrap_disk_free(vfs_handle_struct *handle, connection_struct *conn, const char *path, BOOL small_query, unsigned long long *bsize, unsigned long long *dfree, unsigned long long *dsize); int vfswrap_get_quota(struct vfs_handle_struct *handle, struct connection_struct *conn, enum SMB_QUOTA_TYPE qtype, unid_t id, SMB_DISK_QUOTA *qt); int vfswrap_set_quota(struct vfs_handle_struct *handle, struct connection_struct *conn, enum SMB_QUOTA_TYPE qtype, unid_t id, SMB_DISK_QUOTA *qt); int vfswrap_get_shadow_copy_data(struct vfs_handle_struct *handle, struct files_struct *fsp, SHADOW_COPY_DATA *shadow_copy_data, BOOL labels); DIR *vfswrap_opendir(vfs_handle_struct *handle, connection_struct *conn, const char *fname); struct dirent *vfswrap_readdir(vfs_handle_struct *handle, connection_struct *conn, DIR *dirp); int vfswrap_mkdir(vfs_handle_struct *handle, connection_struct *conn, const char *path, mode_t mode); int vfswrap_rmdir(vfs_handle_struct *handle, connection_struct *conn, const char *path); int vfswrap_closedir(vfs_handle_struct *handle, connection_struct *conn, DIR *dirp); int vfswrap_open(vfs_handle_struct *handle, connection_struct *conn, const char *fname, int flags, mode_t mode); int vfswrap_close(vfs_handle_struct *handle, files_struct *fsp, int fd); ssize_t vfswrap_read(vfs_handle_struct *handle, files_struct *fsp, int fd, void *data, size_t n); ssize_t vfswrap_write(vfs_handle_struct *handle, files_struct *fsp, int fd, const void *data, size_t n); off_t vfswrap_lseek(vfs_handle_struct *handle, files_struct *fsp, int filedes, off_t offset, int whence); ssize_t vfswrap_sendfile(vfs_handle_struct *handle, int tofd, files_struct *fsp, int fromfd, const DATA_BLOB *hdr, off_t offset, size_t n); int vfswrap_rename(vfs_handle_struct *handle, connection_struct *conn, const char *old, const char *new); int vfswrap_fsync(vfs_handle_struct *handle, files_struct *fsp, int fd); int vfswrap_stat(vfs_handle_struct *handle, connection_struct *conn, const char *fname, struct stat *sbuf); int vfswrap_fstat(vfs_handle_struct *handle, files_struct *fsp, int fd, struct stat *sbuf); int vfswrap_lstat(vfs_handle_struct *handle, connection_struct *conn, const char *path, struct stat *sbuf); int vfswrap_unlink(vfs_handle_struct *handle, connection_struct *conn, const char *path); int vfswrap_chmod(vfs_handle_struct *handle, connection_struct *conn, const char *path, mode_t mode); int vfswrap_fchmod(vfs_handle_struct *handle, files_struct *fsp, int fd, mode_t mode); int vfswrap_chown(vfs_handle_struct *handle, connection_struct *conn, const char *path, uid_t uid, gid_t gid); int vfswrap_fchown(vfs_handle_struct *handle, files_struct *fsp, int fd, uid_t uid, gid_t gid); int vfswrap_chdir(vfs_handle_struct *handle, connection_struct *conn, const char *path); char *vfswrap_getwd(vfs_handle_struct *handle, connection_struct *conn, char *path); int vfswrap_utime(vfs_handle_struct *handle, connection_struct *conn, const char *path, struct utimbuf *times); int vfswrap_ftruncate(vfs_handle_struct *handle, files_struct *fsp, int fd, off_t len); BOOL vfswrap_lock(vfs_handle_struct *handle, files_struct *fsp, int fd, int op, off_t offset, off_t count, int type); int vfswrap_symlink(vfs_handle_struct *handle, connection_struct *conn, const char *oldpath, const char *newpath); int vfswrap_readlink(vfs_handle_struct *handle, connection_struct *conn, const char *path, char *buf, size_t bufsiz); int vfswrap_link(vfs_handle_struct *handle, connection_struct *conn, const char *oldpath, const char *newpath); int vfswrap_mknod(vfs_handle_struct *handle, connection_struct *conn, const char *pathname, mode_t mode, dev_t dev); char *vfswrap_realpath(vfs_handle_struct *handle, connection_struct *conn, const char *path, char *resolved_path); size_t vfswrap_fget_nt_acl(vfs_handle_struct *handle, files_struct *fsp, int fd, unsigned int security_info, SEC_DESC **ppdesc); size_t vfswrap_get_nt_acl(vfs_handle_struct *handle, files_struct *fsp, const char *name, unsigned int security_info, SEC_DESC **ppdesc); BOOL vfswrap_fset_nt_acl(vfs_handle_struct *handle, files_struct *fsp, int fd, unsigned int security_info_sent, SEC_DESC *psd); BOOL vfswrap_set_nt_acl(vfs_handle_struct *handle, files_struct *fsp, const char *name, unsigned int security_info_sent, SEC_DESC *psd); int vfswrap_chmod_acl(vfs_handle_struct *handle, connection_struct *conn, const char *name, mode_t mode); int vfswrap_fchmod_acl(vfs_handle_struct *handle, files_struct *fsp, int fd, mode_t mode); int vfswrap_sys_acl_get_entry(vfs_handle_struct *handle, connection_struct *conn, SMB_ACL_T theacl, int entry_id, SMB_ACL_ENTRY_T *entry_p); int vfswrap_sys_acl_get_tag_type(vfs_handle_struct *handle, connection_struct *conn, SMB_ACL_ENTRY_T entry_d, int *tag_type_p); int vfswrap_sys_acl_get_permset(vfs_handle_struct *handle, connection_struct *conn, SMB_ACL_ENTRY_T entry_d, mode_t *permset_p); void * vfswrap_sys_acl_get_qualifier(vfs_handle_struct *handle, connection_struct *conn, SMB_ACL_ENTRY_T entry_d); SMB_ACL_T vfswrap_sys_acl_get_file(vfs_handle_struct *handle, connection_struct *conn, const char *path_p, int type); SMB_ACL_T vfswrap_sys_acl_get_fd(vfs_handle_struct *handle, files_struct *fsp, int fd); int vfswrap_sys_acl_clear_perms(vfs_handle_struct *handle, connection_struct *conn, mode_t permset); int vfswrap_sys_acl_add_perm(vfs_handle_struct *handle, connection_struct *conn, mode_t permset, mode_t perm); char * vfswrap_sys_acl_to_text(vfs_handle_struct *handle, connection_struct *conn, SMB_ACL_T theacl, ssize_t *plen); SMB_ACL_T vfswrap_sys_acl_init(vfs_handle_struct *handle, connection_struct *conn, int count); int vfswrap_sys_acl_create_entry(vfs_handle_struct *handle, connection_struct *conn, SMB_ACL_T *pacl, SMB_ACL_ENTRY_T *pentry); int vfswrap_sys_acl_set_tag_type(vfs_handle_struct *handle, connection_struct *conn, SMB_ACL_ENTRY_T entry, int tagtype); int vfswrap_sys_acl_set_qualifier(vfs_handle_struct *handle, connection_struct *conn, SMB_ACL_ENTRY_T entry, void *qual); int vfswrap_sys_acl_set_permset(vfs_handle_struct *handle, connection_struct *conn, SMB_ACL_ENTRY_T entry, mode_t permset); int vfswrap_sys_acl_valid(vfs_handle_struct *handle, connection_struct *conn, SMB_ACL_T theacl ); int vfswrap_sys_acl_set_file(vfs_handle_struct *handle, connection_struct *conn, const char *name, int acltype, SMB_ACL_T theacl); int vfswrap_sys_acl_set_fd(vfs_handle_struct *handle, files_struct *fsp, int fd, SMB_ACL_T theacl); int vfswrap_sys_acl_delete_def_file(vfs_handle_struct *handle, connection_struct *conn, const char *path); int vfswrap_sys_acl_get_perm(vfs_handle_struct *handle, connection_struct *conn, mode_t permset, mode_t perm); int vfswrap_sys_acl_free_text(vfs_handle_struct *handle, connection_struct *conn, char *text); int vfswrap_sys_acl_free_acl(vfs_handle_struct *handle, connection_struct *conn, SMB_ACL_T posix_acl); int vfswrap_sys_acl_free_qualifier(vfs_handle_struct *handle, connection_struct *conn, void *qualifier, int tagtype); ssize_t vfswrap_getxattr(struct vfs_handle_struct *handle,struct connection_struct *conn,const char *path, const char *name, void *value, size_t size); ssize_t vfswrap_lgetxattr(struct vfs_handle_struct *handle,struct connection_struct *conn,const char *path, const char *name, void *value, size_t size); ssize_t vfswrap_fgetxattr(struct vfs_handle_struct *handle, struct files_struct *fsp,int fd, const char *name, void *value, size_t size); ssize_t vfswrap_listxattr(struct vfs_handle_struct *handle, struct connection_struct *conn,const char *path, char *list, size_t size); ssize_t vfswrap_llistxattr(struct vfs_handle_struct *handle, struct connection_struct *conn,const char *path, char *list, size_t size); ssize_t vfswrap_flistxattr(struct vfs_handle_struct *handle, struct files_struct *fsp,int fd, char *list, size_t size); int vfswrap_removexattr(struct vfs_handle_struct *handle, struct connection_struct *conn,const char *path, const char *name); int vfswrap_lremovexattr(struct vfs_handle_struct *handle, struct connection_struct *conn,const char *path, const char *name); int vfswrap_fremovexattr(struct vfs_handle_struct *handle, struct files_struct *fsp,int fd, const char *name); int vfswrap_setxattr(struct vfs_handle_struct *handle, struct connection_struct *conn,const char *path, const char *name, const void *value, size_t size, int flags); int vfswrap_lsetxattr(struct vfs_handle_struct *handle, struct connection_struct *conn,const char *path, const char *name, const void *value, size_t size, int flags); int vfswrap_fsetxattr(struct vfs_handle_struct *handle, struct files_struct *fsp,int fd, const char *name, const void *value, size_t size, int flags); NTSTATUS smb_register_vfs(int version, const char *name, vfs_op_tuple *vfs_op_tuples); BOOL vfs_init_custom(connection_struct *conn, const char *vfs_object); BOOL smbd_vfs_init(connection_struct *conn); BOOL vfs_directory_exist(connection_struct *conn, const char *dname, struct stat *st); int vfs_MkDir(connection_struct *conn, const char *name, mode_t mode); BOOL vfs_object_exist(connection_struct *conn,const char *fname,struct stat *sbuf); BOOL vfs_file_exist(connection_struct *conn, const char *fname,struct stat *sbuf); ssize_t vfs_read_data(files_struct *fsp, char *buf, size_t byte_count); ssize_t vfs_write_data(files_struct *fsp,const char *buffer,size_t N); int vfs_allocate_file_space(files_struct *fsp, unsigned long long len); int vfs_set_filelen(files_struct *fsp, off_t len); off_t vfs_transfer_file(files_struct *in, files_struct *out, off_t n); char *vfs_readdirname(connection_struct *conn, void *p); int vfs_ChDir(connection_struct *conn, const char *path); char *vfs_GetWd(connection_struct *conn, char *path); BOOL reduce_name(connection_struct *conn, pstring s, const char *dir,BOOL widelinks); int real_utime(const char *name, struct utimbuf *buf); int real_utimes(const char *name, struct timeval tv[2]); void smbw_setup_shared(void); char *smbw_getshared(const char *name); void smbw_setshared(const char *name, const char *val); int smbw_shared_fd(int fd); void smbw_init(void); int smbw_fd(int fd); int smbw_local_fd(int fd); ino_t smbw_inode(const char *name); void clean_fname(char *name); char *smbw_parse_path(const char *fname, char *server, char *share, char *path); int smbw_path(const char *path); int smbw_errno(struct cli_state *c); void get_envvar_auth_data(char *server, char *share, char **workgroup, char **username, char **password); void smbw_set_auth_data_fn(smbw_get_auth_data_fn fn); struct smbw_server *smbw_server(char *server, char *share); struct smbw_file *smbw_file(int fd); int smbw_open(const char *fname, int flags, mode_t mode); ssize_t smbw_pread(int fd, void *buf, size_t count, off_t ofs); ssize_t smbw_read(int fd, void *buf, size_t count); ssize_t smbw_write(int fd, void *buf, size_t count); ssize_t smbw_pwrite(int fd, void *buf, size_t count, off_t ofs); int smbw_close(int fd); int smbw_fcntl(int fd, int cmd, long arg); int smbw_access(const char *name, int mode); int smbw_readlink(const char *path, char *buf, size_t bufsize); int smbw_unlink(const char *fname); int smbw_rename(const char *oldname, const char *newname); int smbw_utime(const char *fname, void *buf); int smbw_utimes(const char *fname, void *buf); int smbw_chown(const char *fname, uid_t owner, gid_t group); int smbw_chmod(const char *fname, mode_t newmode); off_t smbw_lseek(int fd, off_t offset, int whence); int smbw_dup(int fd); int smbw_dup2(int fd, int fd2); int smbw_fork(void); BOOL smbw_NetServerEnum(struct cli_state *cli, char *workgroup, unsigned int stype, void (*fn)(const char *, unsigned int, const char *, void *), void *state); int smbw_RNetShareEnum(struct cli_state *cli, void (*fn)(const char *, unsigned int, const char *, void *), void *state); struct smbw_dir *smbw_dir(int fd); int smbw_dirp(DIR *dirp); int smbw_dir_open(const char *fname); int smbw_dir_fstat(int fd, struct stat *st); int smbw_dir_close(int fd); int smbw_getdents(unsigned int fd, struct dirent *dirp, int count); int smbw_chdir(const char *name); off_t smbw_dir_lseek(int fd, off_t offset, int whence); int smbw_mkdir(const char *fname, mode_t mode); int smbw_rmdir(const char *fname); char *smbw_getcwd(char *buf, size_t size); int smbw_fchdir(unsigned int fd); DIR *smbw_opendir(const char *fname); struct dirent *smbw_readdir(DIR *dirp); int smbw_closedir(DIR *dirp); void smbw_seekdir(DIR *dirp, off_t offset); off_t smbw_telldir(DIR *dirp); void smbw_setup_stat(struct stat *st, char *fname, size_t size, int mode); BOOL smbw_getatr(struct smbw_server *srv, char *path, unsigned short *mode, size_t *size, time_t *c_time, time_t *a_time, time_t *m_time, ino_t *ino); int smbw_stat_printjob(struct smbw_server *srv,char *path, size_t *size, time_t *m_time); int smbw_fstat(int fd, struct stat *st); int smbw_stat(const char *fname, struct stat *st); int tdb_spinlock(TDB_CONTEXT *tdb, int list, int rw_type); int tdb_spinunlock(TDB_CONTEXT *tdb, int list, int rw_type); int tdb_create_rwlocks(int fd, unsigned int hash_size); int tdb_clear_spinlocks(TDB_CONTEXT *tdb); int tdb_clear_spinlocks(TDB_CONTEXT *tdb); void tdb_set_lock_alarm(sig_atomic_t *palarm); void tdb_dump_all(TDB_CONTEXT *tdb); int tdb_printfreelist(TDB_CONTEXT *tdb); enum TDB_ERROR tdb_error(TDB_CONTEXT *tdb); const char *tdb_errorstr(TDB_CONTEXT *tdb); TDB_DATA tdb_fetch(TDB_CONTEXT *tdb, TDB_DATA key); int tdb_exists(TDB_CONTEXT *tdb, TDB_DATA key); int tdb_traverse(TDB_CONTEXT *tdb, tdb_traverse_func fn, void *state); TDB_DATA tdb_firstkey(TDB_CONTEXT *tdb); TDB_DATA tdb_nextkey(TDB_CONTEXT *tdb, TDB_DATA oldkey); int tdb_delete(TDB_CONTEXT *tdb, TDB_DATA key); int tdb_store(TDB_CONTEXT *tdb, TDB_DATA key, TDB_DATA dbuf, int flag); int tdb_append(TDB_CONTEXT *tdb, TDB_DATA key, TDB_DATA new_dbuf); TDB_CONTEXT *tdb_open(const char *name, int hash_size, int tdb_flags, int open_flags, mode_t mode); TDB_CONTEXT *tdb_open_ex(const char *name, int hash_size, int tdb_flags, int open_flags, mode_t mode, tdb_log_func log_fn); int tdb_close(TDB_CONTEXT *tdb); int tdb_lockall(TDB_CONTEXT *tdb); void tdb_unlockall(TDB_CONTEXT *tdb); int tdb_lockkeys(TDB_CONTEXT *tdb, unsigned number, TDB_DATA keys[]); void tdb_unlockkeys(TDB_CONTEXT *tdb); int tdb_chainlock(TDB_CONTEXT *tdb, TDB_DATA key); int tdb_chainunlock(TDB_CONTEXT *tdb, TDB_DATA key); int tdb_chainlock_read(TDB_CONTEXT *tdb, TDB_DATA key); int tdb_chainunlock_read(TDB_CONTEXT *tdb, TDB_DATA key); void tdb_logging_function(TDB_CONTEXT *tdb, void (*fn)(TDB_CONTEXT *, int , const char *, ...)); int tdb_reopen(TDB_CONTEXT *tdb); int tdb_reopen_all(void); char *add_suffix(const char *name, const char *suffix); int backup_tdb(const char *old_name, const char *new_name); int verify_tdb(const char *fname, const char *bak_name); int tdb_chainlock_with_timeout( TDB_CONTEXT *tdb, TDB_DATA key, unsigned int timeout); int tdb_lock_bystring(TDB_CONTEXT *tdb, const char *keyval, unsigned int timeout); void tdb_unlock_bystring(TDB_CONTEXT *tdb, const char *keyval); int tdb_read_lock_bystring(TDB_CONTEXT *tdb, const char *keyval, unsigned int timeout); void tdb_read_unlock_bystring(TDB_CONTEXT *tdb, const char *keyval); int tdb_fetch_int32_byblob(TDB_CONTEXT *tdb, const char *keyval, size_t len); int tdb_fetch_int32(TDB_CONTEXT *tdb, const char *keystr); int tdb_store_int32_byblob(TDB_CONTEXT *tdb, const char *keystr, size_t len, int v); int tdb_store_int32(TDB_CONTEXT *tdb, const char *keystr, int v); BOOL tdb_fetch_uint32_byblob(TDB_CONTEXT *tdb, const char *keyval, size_t len, unsigned int *value); BOOL tdb_fetch_uint32(TDB_CONTEXT *tdb, const char *keystr, unsigned int *value); BOOL tdb_store_uint32_byblob(TDB_CONTEXT *tdb, const char *keystr, size_t len, unsigned int value); BOOL tdb_store_uint32(TDB_CONTEXT *tdb, const char *keystr, unsigned int value); int tdb_store_bystring(TDB_CONTEXT *tdb, const char *keystr, TDB_DATA data, int flags); TDB_DATA tdb_fetch_bystring(TDB_CONTEXT *tdb, const char *keystr); int tdb_delete_bystring(TDB_CONTEXT *tdb, const char *keystr); int tdb_change_int32_atomic(TDB_CONTEXT *tdb, const char *keystr, int *oldval, int change_val); BOOL tdb_change_uint32_atomic(TDB_CONTEXT *tdb, const char *keystr, unsigned int *oldval, unsigned int change_val); size_t tdb_pack(char *buf, int bufsize, const char *fmt, ...); int tdb_unpack(char *buf, int bufsize, const char *fmt, ...); size_t tdb_sid_pack(char* pack_buf, int bufsize, DOM_SID* sid); size_t tdb_sid_unpack(char* pack_buf, int bufsize, DOM_SID* sid); size_t tdb_trusted_dom_pass_pack(char* pack_buf, int bufsize, TRUSTED_DOM_PASS* pass); size_t tdb_trusted_dom_pass_unpack(char* pack_buf, int bufsize, TRUSTED_DOM_PASS* pass); TDB_CONTEXT *tdb_open_log(const char *name, int hash_size, int tdb_flags, int open_flags, mode_t mode); int tdb_traverse_delete_fn(TDB_CONTEXT *the_tdb, TDB_DATA key, TDB_DATA dbuf, void *state); void tdb_search_list_free(TDB_LIST_NODE* node); BOOL torture_denytest1(int dummy); BOOL torture_denytest2(int dummy); BOOL torture_mangle(int dummy); double nbio_total(void); void nb_alarm(void); void nbio_shmem(int n); void nb_setup(struct cli_state *cli); void nb_unlink(const char *fname); void nb_createx(const char *fname, unsigned create_options, unsigned create_disposition, int handle); void nb_writex(int handle, int offset, int size, int ret_size); void nb_readx(int handle, int offset, int size, int ret_size); void nb_close(int handle); void nb_rmdir(const char *fname); void nb_rename(const char *old, const char *new); void nb_qpathinfo(const char *fname); void nb_qfileinfo(int fnum); void nb_qfsinfo(int level); void nb_findfirst(const char *mask); void nb_flush(int fnum); void nb_deltree(const char *dname); void nb_cleanup(void); BOOL torture_trans2_scan(int dummy); BOOL torture_nttrans_scan(int dummy); void start_timer(void); double end_timer(void); void *shm_setup(int size); BOOL torture_open_connection(struct cli_state **c); BOOL torture_cli_session_setup2(struct cli_state *cli, unsigned short *new_vuid); BOOL torture_close_connection(struct cli_state *c); BOOL torture_ioctl_test(int dummy); BOOL torture_chkpath_test(int dummy); BOOL torture_utable(int dummy); BOOL torture_casetable(int dummy); void cgi_load_variables(void); const char *cgi_variable(const char *name); BOOL am_root(void); char *cgi_user_name(void); void cgi_setup(const char *rootdir, int auth_required); const char *cgi_baseurl(void); const char *cgi_pathinfo(void); char *cgi_remote_host(void); char *cgi_remote_addr(void); BOOL cgi_waspost(void); BOOL winbindd_running(void); BOOL nmbd_running(void); BOOL smbd_running(void); int web_open(const char *fname, int flags, mode_t mode); void web_set_lang(const char *lang_string); void start_smbd(void); void start_nmbd(void); void start_winbindd(void); void stop_smbd(void); void stop_nmbd(void); void stop_winbindd(void); void kill_pid(pid_t pid); void status_page(void); # 897 "include/includes.h" 2 # 1 "include/srvstr.h" 1 # 21 "include/srvstr.h" # 1 "include/includes.h" 1 # 22 "include/srvstr.h" 2 # 902 "include/includes.h" 2 # 1 "include/safe_string.h" 1 # 62 "include/safe_string.h" char * __unsafe_string_function_usage_here__(void); size_t __unsafe_string_function_usage_here_size_t__(void); size_t __unsafe_string_function_usage_here_char__(void); # 903 "include/includes.h" 2 # 1010 "include/includes.h" size_t strlcpy(char *d, const char *s, size_t bufsize); size_t strlcat(char *d, const char *s, size_t bufsize); # 1083 "include/includes.h" # 1 "/usr/include/dlfcn.h" 1 3 4 # 25 "/usr/include/dlfcn.h" 3 4 # 1 "/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.1/include/stddef.h" 1 3 4 # 26 "/usr/include/dlfcn.h" 2 3 4 # 1 "/usr/include/bits/dlfcn.h" 1 3 4 # 57 "/usr/include/bits/dlfcn.h" 3 4 extern void _dl_mcount_wrapper_check (void *__selfpc) ; # 29 "/usr/include/dlfcn.h" 2 3 4 # 45 "/usr/include/dlfcn.h" 3 4 extern void *dlopen (__const char *__file, int __mode) ; extern int dlclose (void *__handle) ; extern void *dlsym (void *__restrict __handle, __const char *__restrict __name) ; extern void *dlvsym (void *__restrict __handle, __const char *__restrict __name, __const char *__restrict __version) ; extern char *dlerror (void) ; typedef struct { __const char *dli_fname; void *dli_fbase; __const char *dli_sname; void *dli_saddr; } Dl_info; extern int dladdr (__const void *__address, Dl_info *__info) ; extern int dladdr1 (__const void *__address, Dl_info *__info, void **__extra_info, int __flags) ; enum { RTLD_DL_SYMENT = 1, RTLD_DL_LINKMAP = 2 }; extern int dlinfo (void *__restrict __handle, int __request, void *__restrict __arg); enum { RTLD_DI_LINKMAP = 2, RTLD_DI_SERINFO = 4, RTLD_DI_SERINFOSIZE = 5, RTLD_DI_ORIGIN = 6, RTLD_DI_LMID = 1, RTLD_DI_CONFIGADDR = 3 }; typedef struct { char *dls_name; unsigned int dls_flags; } Dl_serpath; typedef struct { size_t dls_size; unsigned int dls_cnt; Dl_serpath dls_serpath[1]; } Dl_serinfo; # 1084 "include/includes.h" 2 # 1189 "include/includes.h" extern int *debug_level; # 1227 "include/includes.h" int fdprintf(int , const char *, ...) __attribute__ ((format (__printf__, 2, 3))); int d_printf(const char *, ...) __attribute__ ((format (__printf__, 1, 2))); int d_fprintf(FILE *f, const char *, ...) __attribute__ ((format (__printf__, 2, 3))); # 1245 "include/includes.h" void sys_adminlog(int priority, const char *format_str, ...) __attribute__ ((format (__printf__, 2, 3))); int pstr_sprintf(pstring s, const char *fmt, ...) __attribute__ ((format (__printf__, 2, 3))); int fstr_sprintf(fstring s, const char *fmt, ...) __attribute__ ((format (__printf__, 2, 3))); int d_vfprintf(FILE *f, const char *format, va_list ap) __attribute__ ((format (__printf__, 2, 0))); int smb_xvasprintf(char **ptr, const char *format, va_list ap) __attribute__ ((format (__printf__, 2, 0))); # 26 "rpcclient/cmd_spoolss.c" 2 # 1 "rpcclient/rpcclient.h" 1 # 25 "rpcclient/rpcclient.h" typedef enum { RPC_RTYPE_NTSTATUS = 0, RPC_RTYPE_WERROR, MAX_RPC_RETURN_TYPE, } RPC_RETURN_TYPE; struct cmd_set { const char *name; RPC_RETURN_TYPE returntype; NTSTATUS (*ntfn)(struct cli_state *cli, TALLOC_CTX *mem_ctx, int argc, const char **argv); WERROR (*wfn)(struct cli_state *cli, TALLOC_CTX *mem_ctx, int argc, const char **argv); int pipe_idx; const char *description; const char *usage; }; # 27 "rpcclient/cmd_spoolss.c" 2 struct table_node { const char *long_archi; const char *short_archi; int version; }; static const struct table_node archi_table[]= { {"Windows 4.0", "WIN40", 0 }, {"Windows NT x86", "W32X86", 2 }, {"Windows NT x86", "W32X86", 3 }, {"Windows NT R4000", "W32MIPS", 2 }, {"Windows NT Alpha_AXP", "W32ALPHA", 2 }, {"Windows NT PowerPC", "W32PPC", 2 }, {((void *)0), "", -1 } }; # 58 "rpcclient/cmd_spoolss.c" static const char *cmd_spoolss_get_short_archi(const char *long_archi) { int i=-1; (void)( ((107) <= 1000) && ((DEBUGLEVEL_CLASS[ 0 ] >= (107))|| (!DEBUGLEVEL_CLASS_ISSET[ 0 ] && DEBUGLEVEL_CLASS[ 0 ] >= (107)) ) && (dbghdr( 107, "rpcclient/cmd_spoolss.c", (__FUNCTION__), (62) )) && (dbgtext ("Getting architecture dependant directory\n")) ); do { i++; } while ( (archi_table[i].long_archi!=((void *)0) ) && StrCaseCmp(long_archi, archi_table[i].long_archi) ); if (archi_table[i].long_archi==((void *)0)) { (void)( ((10) <= 1000) && ((DEBUGLEVEL_CLASS[ 0 ] >= (10))|| (!DEBUGLEVEL_CLASS_ISSET[ 0 ] && DEBUGLEVEL_CLASS[ 0 ] >= (10)) ) && (dbgtext ("Unknown architecture [%s] !\n", long_archi)) ); return ((void *)0); } (void)( ((108) <= 1000) && ((DEBUGLEVEL_CLASS[ 0 ] >= (108))|| (!DEBUGLEVEL_CLASS_ISSET[ 0 ] && DEBUGLEVEL_CLASS[ 0 ] >= (108)) ) && (dbgtext ("index: [%d]\n", i)) ); (void)( ((108) <= 1000) && ((DEBUGLEVEL_CLASS[ 0 ] >= (108))|| (!DEBUGLEVEL_CLASS_ISSET[ 0 ] && DEBUGLEVEL_CLASS[ 0 ] >= (108)) ) && (dbgtext ("long architecture: [%s]\n", archi_table[i].long_archi)) ); (void)( ((108) <= 1000) && ((DEBUGLEVEL_CLASS[ 0 ] >= (108))|| (!DEBUGLEVEL_CLASS_ISSET[ 0 ] && DEBUGLEVEL_CLASS[ 0 ] >= (108)) ) && (dbgtext ("short architecture: [%s]\n", archi_table[i].short_archi)) ); return archi_table[i].short_archi; } # 99 "rpcclient/cmd_spoolss.c" static WERROR cmd_spoolss_open_printer_ex(struct cli_state *cli, TALLOC_CTX *mem_ctx, int argc, const char **argv) { WERROR werror; fstring printername; fstring servername, user; POLICY_HND hnd; if (argc != 2) { printf("Usage: %s \n", argv[0]); return ((WERROR) { 0 }); } if (!cli) return ((WERROR) { 31 }); snprintf(servername, sizeof(servername)-1, "\\\\%s", cli->desthost); strupper_m(servername); ((sizeof((user)) != (sizeof(fstring)-1 +1) && sizeof((user)) != sizeof(char *)) ? __unsafe_string_function_usage_here__() : safe_strcpy_fn((""), (0), ((user)), ((cli->user_name)), (sizeof(fstring)-1))); ((sizeof((printername)) != (sizeof(fstring)-1 +1) && sizeof((printername)) != sizeof(char *)) ? __unsafe_string_function_usage_here__() : safe_strcpy_fn((""), (0), ((printername)), ((argv[1])), (sizeof(fstring)-1))); werror = cli_spoolss_open_printer_ex(cli, mem_ctx, printername, "", (0x00010000 | 0x00020000 | 0x00040000 | 0x00080000)|0x00000004|0x00000008, servername, user, &hnd); if ((((werror).v) == 0)) { printf("Printer %s opened successfully\n", printername); werror = cli_spoolss_close_printer(cli, mem_ctx, &hnd); if (!(((werror).v) == 0)) { printf("Error closing printer handle! (%s)\n", get_dos_error_msg(werror)); } } return werror; } static void display_print_info_0(PRINTER_INFO_0 *i0) { fstring name = ""; fstring servername = ""; if (!i0) return; rpcstr_pull(name, i0->printername.buffer, sizeof(name), -1, 1); rpcstr_pull(servername, i0->servername.buffer, sizeof(servername), -1,1); printf("\tprintername:[%s]\n", name); printf("\tservername:[%s]\n", servername); printf("\tcjobs:[0x%x]\n", i0->cjobs); printf("\ttotal_jobs:[0x%x]\n", i0->total_jobs); printf("\t:date: [%d]-[%d]-[%d] (%d)\n", i0->year, i0->month, i0->day, i0->dayofweek); printf("\t:time: [%d]-[%d]-[%d]-[%d]\n", i0->hour, i0->minute, i0->second, i0->milliseconds); printf("\tglobal_counter:[0x%x]\n", i0->global_counter); printf("\ttotal_pages:[0x%x]\n", i0->total_pages); printf("\tmajorversion:[0x%x]\n", i0->major_version); printf("\tbuildversion:[0x%x]\n", i0->build_version); printf("\tunknown7:[0x%x]\n", i0->unknown7); printf("\tunknown8:[0x%x]\n", i0->unknown8); printf("\tunknown9:[0x%x]\n", i0->unknown9); printf("\tsession_counter:[0x%x]\n", i0->session_counter); printf("\tunknown11:[0x%x]\n", i0->unknown11); printf("\tprinter_errors:[0x%x]\n", i0->printer_errors); printf("\tunknown13:[0x%x]\n", i0->unknown13); printf("\tunknown14:[0x%x]\n", i0->unknown14); printf("\tunknown15:[0x%x]\n", i0->unknown15); printf("\tunknown16:[0x%x]\n", i0->unknown16); printf("\tchange_id:[0x%x]\n", i0->change_id); printf("\tunknown18:[0x%x]\n", i0->unknown18); printf("\tstatus:[0x%x]\n", i0->status); printf("\tunknown20:[0x%x]\n", i0->unknown20); printf("\tc_setprinter:[0x%x]\n", i0->c_setprinter); printf("\tunknown22:[0x%x]\n", i0->unknown22); printf("\tunknown23:[0x%x]\n", i0->unknown23); printf("\tunknown24:[0x%x]\n", i0->unknown24); printf("\tunknown25:[0x%x]\n", i0->unknown25); printf("\tunknown26:[0x%x]\n", i0->unknown26); printf("\tunknown27:[0x%x]\n", i0->unknown27); printf("\tunknown28:[0x%x]\n", i0->unknown28); printf("\tunknown29:[0x%x]\n", i0->unknown29); printf("\n"); } static void display_print_info_1(PRINTER_INFO_1 *i1) { fstring desc = ""; fstring name = ""; fstring comm = ""; rpcstr_pull(desc, i1->description.buffer, sizeof(desc), -1, 1); rpcstr_pull(name, i1->name.buffer, sizeof(name), -1, 1); rpcstr_pull(comm, i1->comment.buffer, sizeof(comm), -1, 1); printf("\tflags:[0x%x]\n", i1->flags); printf("\tname:[%s]\n", name); printf("\tdescription:[%s]\n", desc); printf("\tcomment:[%s]\n", comm); printf("\n"); } static void display_print_info_2(PRINTER_INFO_2 *i2) { fstring servername = ""; fstring printername = ""; fstring sharename = ""; fstring portname = ""; fstring drivername = ""; fstring comment = ""; fstring location = ""; fstring sepfile = ""; fstring printprocessor = ""; fstring datatype = ""; fstring parameters = ""; rpcstr_pull(servername, i2->servername.buffer,sizeof(servername), -1, 1); rpcstr_pull(printername, i2->printername.buffer,sizeof(printername), -1, 1); rpcstr_pull(sharename, i2->sharename.buffer,sizeof(sharename), -1, 1); rpcstr_pull(portname, i2->portname.buffer,sizeof(portname), -1, 1); rpcstr_pull(drivername, i2->drivername.buffer,sizeof(drivername), -1, 1); rpcstr_pull(comment, i2->comment.buffer,sizeof(comment), -1, 1); rpcstr_pull(location, i2->location.buffer,sizeof(location), -1, 1); rpcstr_pull(sepfile, i2->sepfile.buffer,sizeof(sepfile), -1, 1); rpcstr_pull(printprocessor, i2->printprocessor.buffer,sizeof(printprocessor), -1, 1); rpcstr_pull(datatype, i2->datatype.buffer,sizeof(datatype), -1, 1); rpcstr_pull(parameters, i2->parameters.buffer,sizeof(parameters), -1, 1); printf("\tservername:[%s]\n", servername); printf("\tprintername:[%s]\n", printername); printf("\tsharename:[%s]\n", sharename); printf("\tportname:[%s]\n", portname); printf("\tdrivername:[%s]\n", drivername); printf("\tcomment:[%s]\n", comment); printf("\tlocation:[%s]\n", location); printf("\tsepfile:[%s]\n", sepfile); printf("\tprintprocessor:[%s]\n", printprocessor); printf("\tdatatype:[%s]\n", datatype); printf("\tparameters:[%s]\n", parameters); printf("\tattributes:[0x%x]\n", i2->attributes); printf("\tpriority:[0x%x]\n", i2->priority); printf("\tdefaultpriority:[0x%x]\n", i2->defaultpriority); printf("\tstarttime:[0x%x]\n", i2->starttime); printf("\tuntiltime:[0x%x]\n", i2->untiltime); printf("\tstatus:[0x%x]\n", i2->status); printf("\tcjobs:[0x%x]\n", i2->cjobs); printf("\taverageppm:[0x%x]\n", i2->averageppm); if (i2->secdesc) display_sec_desc(i2->secdesc); printf("\n"); } static void display_print_info_3(PRINTER_INFO_3 *i3) { printf("\tflags:[0x%x]\n", i3->flags); display_sec_desc(i3->secdesc); printf("\n"); } static WERROR cmd_spoolss_enum_printers(struct cli_state *cli, TALLOC_CTX *mem_ctx, int argc, const char **argv) { WERROR result; unsigned int info_level = 1; PRINTER_INFO_CTR ctr; unsigned int i = 0, num_printers, needed; fstring name; if (argc > 3) { printf("Usage: %s [level] [name]\n", argv[0]); return ((WERROR) { 0 }); } if (argc == 2) info_level = atoi(argv[1]); if (argc == 3) ((sizeof((name)) != (sizeof(fstring)-1 +1) && sizeof((name)) != sizeof(char *)) ? __unsafe_string_function_usage_here__() : safe_strcpy_fn((""), (0), ((name)), ((argv[2])), (sizeof(fstring)-1))); else { snprintf(name, sizeof(name)-1, "\\\\%s", cli->desthost); strupper_m(name); } memset((char *)&(ctr), 0, sizeof(ctr)); result = cli_spoolss_enum_printers( cli, mem_ctx, 0, &needed, name, 0x00000002, info_level, &num_printers, &ctr); if (((result).v) == 122) result = cli_spoolss_enum_printers( cli, mem_ctx, needed, ((void *)0), name, 0x00000002, info_level, &num_printers, &ctr); if ((((result).v) == 0)) { if (!num_printers) { printf ("No printers returned.\n"); goto done; } for (i = 0; i < num_printers; i++) { switch(info_level) { case 0: display_print_info_0(&ctr.printers_0[i]); break; case 1: display_print_info_1(&ctr.printers_1[i]); break; case 2: display_print_info_2(&ctr.printers_2[i]); break; case 3: display_print_info_3(&ctr.printers_3[i]); break; default: printf("unknown info level %d\n", info_level); goto done; } } } done: return result; } static void display_port_info_1(PORT_INFO_1 *i1) { fstring buffer; rpcstr_pull(buffer, i1->port_name.buffer, sizeof(buffer), -1, 1); printf("\tPort Name:\t[%s]\n", buffer); } static void display_port_info_2(PORT_INFO_2 *i2) { fstring buffer; rpcstr_pull(buffer, i2->port_name.buffer, sizeof(buffer), -1, 1); printf("\tPort Name:\t[%s]\n", buffer); rpcstr_pull(buffer, i2->monitor_name.buffer, sizeof(buffer), -1, 1); printf("\tMonitor Name:\t[%s]\n", buffer); rpcstr_pull(buffer, i2->description.buffer, sizeof(buffer), -1, 1); printf("\tDescription:\t[%s]\n", buffer); printf("\tPort Type:\t" ); if ( i2->port_type ) { int comma = 0; printf( "[" ); if ( i2->port_type & 0x0002 ) { printf( "Read" ); comma = 1; } if ( i2->port_type & 0x0001 ) { printf( "%sWrite", comma ? ", " : "" ); comma = 1; } if ( i2->port_type & 0x0004 ) { printf( "%sRedirected", comma ? ", " : "" ); comma = 1; } if ( i2->port_type & 0x0008 ) { printf( "%sNet-Attached", comma ? ", " : "" ); } printf( "]\n" ); } else { printf( "[Unset]\n" ); } printf("\tReserved:\t[%d]\n", i2->reserved); printf("\n"); } static WERROR cmd_spoolss_enum_ports(struct cli_state *cli, TALLOC_CTX *mem_ctx, int argc, const char **argv) { WERROR result; unsigned int needed, info_level = 1; PORT_INFO_CTR ctr; int returned; if (argc > 2) { printf("Usage: %s [level]\n", argv[0]); return ((WERROR) { 0 }); } if (argc == 2) info_level = atoi(argv[1]); memset((char *)&(ctr), 0, sizeof(ctr)); result = cli_spoolss_enum_ports(cli, mem_ctx, 0, &needed, info_level, &returned, &ctr); if (((result).v) == 122) result = cli_spoolss_enum_ports(cli, mem_ctx, needed, ((void *)0), info_level, &returned, &ctr); if ((((result).v) == 0)) { int i; for (i = 0; i < returned; i++) { switch (info_level) { case 1: display_port_info_1(&ctr.port.info_1[i]); break; case 2: display_port_info_2(&ctr.port.info_2[i]); break; default: printf("unknown info level %d\n", info_level); break; } } } return result; } static WERROR cmd_spoolss_setprinter(struct cli_state *cli, TALLOC_CTX *mem_ctx, int argc, const char **argv) { POLICY_HND pol; WERROR result; unsigned int needed; unsigned int info_level = 2; BOOL opened_hnd = (0); PRINTER_INFO_CTR ctr; fstring printername, servername, user, comment; if (argc == 1 || argc > 3) { printf("Usage: %s printername comment\n", argv[0]); return ((WERROR) { 0 }); } if (argc == 3) { ((sizeof((comment)) != (sizeof(fstring)-1 +1) && sizeof((comment)) != sizeof(char *)) ? __unsafe_string_function_usage_here__() : safe_strcpy_fn((""), (0), ((comment)), ((argv[2])), (sizeof(fstring)-1))); } snprintf(servername, sizeof(servername)-1, "\\\\%s", cli->desthost); strupper_m(servername); ((sizeof((printername)) != (sizeof(fstring)-1 +1) && sizeof((printername)) != sizeof(char *)) ? __unsafe_string_function_usage_here__() : safe_strcpy_fn((""), (0), ((printername)), ((argv[1])), (sizeof(fstring)-1))); ((sizeof((user)) != (sizeof(fstring)-1 +1) && sizeof((user)) != sizeof(char *)) ? __unsafe_string_function_usage_here__() : safe_strcpy_fn((""), (0), ((user)), ((cli->user_name)), (sizeof(fstring)-1))); result = cli_spoolss_open_printer_ex(cli, mem_ctx, printername, "", (0x00010000 | 0x00020000 | 0x00040000 | 0x00080000)|0x00000004|0x00000008, servername, user, &pol); if (!(((result).v) == 0)) goto done; opened_hnd = (1); result = cli_spoolss_getprinter(cli, mem_ctx, 0, &needed, &pol, info_level, &ctr); if (((result).v) == 122) result = cli_spoolss_getprinter(cli, mem_ctx, needed, ((void *)0), &pol, info_level, &ctr); if (!(((result).v) == 0)) goto done; init_unistr(&ctr.printers_2->comment, comment); ctr.printers_2->devmode = ((void *)0); ctr.printers_2->secdesc = ((void *)0); result = cli_spoolss_setprinter(cli, mem_ctx, &pol, info_level, &ctr, 0); if ((((result).v) == 0)) printf("Success in setting comment.\n"); done: if (opened_hnd) cli_spoolss_close_printer(cli, mem_ctx, &pol); return result; } static WERROR cmd_spoolss_getprinter(struct cli_state *cli, TALLOC_CTX *mem_ctx, int argc, const char **argv) { POLICY_HND pol; WERROR result; unsigned int info_level = 1; BOOL opened_hnd = (0); PRINTER_INFO_CTR ctr; fstring printername, servername, user; unsigned int needed; if (argc == 1 || argc > 3) { printf("Usage: %s [level]\n", argv[0]); return ((WERROR) { 0 }); } if (argc == 3) { info_level = atoi(argv[2]); } snprintf(servername, sizeof(servername)-1, "\\\\%s", cli->desthost); strupper_m(servername); snprintf(printername, sizeof(printername)-1, "%s\\%s", servername, argv[1]); ((sizeof((user)) != (sizeof(fstring)-1 +1) && sizeof((user)) != sizeof(char *)) ? __unsafe_string_function_usage_here__() : safe_strcpy_fn((""), (0), ((user)), ((cli->user_name)), (sizeof(fstring)-1))); result = cli_spoolss_open_printer_ex(cli, mem_ctx, printername, "", (1L<<25), servername, user, &pol); if (!(((result).v) == 0)) goto done; opened_hnd = (1); result = cli_spoolss_getprinter(cli, mem_ctx, 0, &needed, &pol, info_level, &ctr); if (((result).v) == 122) result = cli_spoolss_getprinter( cli, mem_ctx, needed, ((void *)0), &pol, info_level, &ctr); if (!(((result).v) == 0)) goto done; switch (info_level) { case 0: display_print_info_0(ctr.printers_0); break; case 1: display_print_info_1(ctr.printers_1); break; case 2: display_print_info_2(ctr.printers_2); break; case 3: display_print_info_3(ctr.printers_3); break; default: printf("unknown info level %d\n", info_level); break; } done: if (opened_hnd) cli_spoolss_close_printer(cli, mem_ctx, &pol); return result; } static void display_reg_value(REGISTRY_VALUE value) { pstring text; switch(value.type) { case 4: printf("%s: REG_DWORD: 0x%08x\n", value.valuename, *((unsigned int *) value.data_p)); break; case 1: rpcstr_pull(text, value.data_p, sizeof(text), value.size, 1); printf("%s: REG_SZ: %s\n", value.valuename, text); break; case 3: printf("%s: REG_BINARY: unknown length value not displayed\n", value.valuename); break; case 7: { unsigned short *curstr = (unsigned short *) value.data_p; unsigned char *start = value.data_p; printf("%s: REG_MULTI_SZ:\n", value.valuename); while ((*curstr != 0) && ((unsigned char *) curstr < start + value.size)) { rpcstr_pull(text, curstr, sizeof(text), -1, 1); printf(" %s\n", text); curstr += strlen(text) + 1; } } break; default: printf("%s: unknown type %d\n", value.valuename, value.type); } } static WERROR cmd_spoolss_getprinterdata(struct cli_state *cli, TALLOC_CTX *mem_ctx, int argc, const char **argv) { POLICY_HND pol; WERROR result; BOOL opened_hnd = (0); fstring printername, servername, user; unsigned int needed; const char *valuename; REGISTRY_VALUE value; if (argc != 3) { printf("Usage: %s \n", argv[0]); printf(" of . queries print server\n"); return ((WERROR) { 0 }); } valuename = argv[2]; snprintf(servername, sizeof(servername)-1, "\\\\%s", cli->desthost); strupper_m(servername); if (strncmp(argv[1], ".", sizeof(".")) == 0) ((sizeof((printername)) != (sizeof(fstring)-1 +1) && sizeof((printername)) != sizeof(char *)) ? __unsafe_string_function_usage_here__() : safe_strcpy_fn((""), (0), ((printername)), ((servername)), (sizeof(fstring)-1))); else snprintf(printername, sizeof(servername)-1, "%s\\%s", servername, argv[1]); ((sizeof((user)) != (sizeof(fstring)-1 +1) && sizeof((user)) != sizeof(char *)) ? __unsafe_string_function_usage_here__() : safe_strcpy_fn((""), (0), ((user)), ((cli->user_name)), (sizeof(fstring)-1))); result = cli_spoolss_open_printer_ex(cli, mem_ctx, printername, "", (1L<<25), servername, user, &pol); if (!(((result).v) == 0)) goto done; opened_hnd = (1); result = cli_spoolss_getprinterdata(cli, mem_ctx, 0, &needed, &pol, valuename, &value); if (((result).v) == 234) result = cli_spoolss_getprinterdata( cli, mem_ctx, needed, ((void *)0), &pol, valuename, &value); if (!(((result).v) == 0)) goto done; ((sizeof((value.valuename)) != (sizeof(fstring)-1 +1) && sizeof((value.valuename)) != sizeof(char *)) ? __unsafe_string_function_usage_here__() : safe_strcpy_fn((""), (0), ((value.valuename)), ((valuename)), (sizeof(fstring)-1))); display_reg_value(value); done: if (opened_hnd) cli_spoolss_close_printer(cli, mem_ctx, &pol); return result; } static WERROR cmd_spoolss_getprinterdataex(struct cli_state *cli, TALLOC_CTX *mem_ctx, int argc, const char **argv) { POLICY_HND pol; WERROR result; BOOL opened_hnd = (0); fstring printername, servername, user; unsigned int needed; const char *valuename, *keyname; REGISTRY_VALUE value; if (argc != 4) { printf("Usage: %s \n", argv[0]); printf(" of . queries print server\n"); return ((WERROR) { 0 }); } valuename = argv[3]; keyname = argv[2]; snprintf(servername, sizeof(servername)-1, "\\\\%s", cli->desthost); strupper_m(servername); if (strncmp(argv[1], ".", sizeof(".")) == 0) ((sizeof((printername)) != (sizeof(fstring)-1 +1) && sizeof((printername)) != sizeof(char *)) ? __unsafe_string_function_usage_here__() : safe_strcpy_fn((""), (0), ((printername)), ((servername)), (sizeof(fstring)-1))); else snprintf(printername, sizeof(printername)-1, "%s\\%s", servername, argv[1]); ((sizeof((user)) != (sizeof(fstring)-1 +1) && sizeof((user)) != sizeof(char *)) ? __unsafe_string_function_usage_here__() : safe_strcpy_fn((""), (0), ((user)), ((cli->user_name)), (sizeof(fstring)-1))); result = cli_spoolss_open_printer_ex(cli, mem_ctx, printername, "", (1L<<25), servername, user, &pol); if (!(((result).v) == 0)) goto done; opened_hnd = (1); result = cli_spoolss_getprinterdataex(cli, mem_ctx, 0, &needed, &pol, keyname, valuename, &value); if (((result).v) == 234) result = cli_spoolss_getprinterdataex(cli, mem_ctx, needed, ((void *)0), &pol, keyname, valuename, &value); if (!(((result).v) == 0)) goto done; ((sizeof((value.valuename)) != (sizeof(fstring)-1 +1) && sizeof((value.valuename)) != sizeof(char *)) ? __unsafe_string_function_usage_here__() : safe_strcpy_fn((""), (0), ((value.valuename)), ((valuename)), (sizeof(fstring)-1))); display_reg_value(value); done: if (opened_hnd) cli_spoolss_close_printer(cli, mem_ctx, &pol); return result; } static void display_print_driver_1(DRIVER_INFO_1 *i1) { fstring name; if (i1 == ((void *)0)) return; rpcstr_pull(name, i1->name.buffer, sizeof(name), -1, 1); printf ("Printer Driver Info 1:\n"); printf ("\tDriver Name: [%s]\n\n", name); return; } static void display_print_driver_2(DRIVER_INFO_2 *i1) { fstring name; fstring architecture; fstring driverpath; fstring datafile; fstring configfile; if (i1 == ((void *)0)) return; rpcstr_pull(name, i1->name.buffer, sizeof(name), -1, 1); rpcstr_pull(architecture, i1->architecture.buffer, sizeof(architecture), -1, 1); rpcstr_pull(driverpath, i1->driverpath.buffer, sizeof(driverpath), -1, 1); rpcstr_pull(datafile, i1->datafile.buffer, sizeof(datafile), -1, 1); rpcstr_pull(configfile, i1->configfile.buffer, sizeof(configfile), -1, 1); printf ("Printer Driver Info 2:\n"); printf ("\tVersion: [%x]\n", i1->version); printf ("\tDriver Name: [%s]\n", name); printf ("\tArchitecture: [%s]\n", architecture); printf ("\tDriver Path: [%s]\n", driverpath); printf ("\tDatafile: [%s]\n", datafile); printf ("\tConfigfile: [%s]\n\n", configfile); return; } static void display_print_driver_3(DRIVER_INFO_3 *i1) { fstring name = ""; fstring architecture = ""; fstring driverpath = ""; fstring datafile = ""; fstring configfile = ""; fstring helpfile = ""; fstring dependentfiles = ""; fstring monitorname = ""; fstring defaultdatatype = ""; int length=0; BOOL valid = (1); if (i1 == ((void *)0)) return; rpcstr_pull(name, i1->name.buffer, sizeof(name), -1, 1); rpcstr_pull(architecture, i1->architecture.buffer, sizeof(architecture), -1, 1); rpcstr_pull(driverpath, i1->driverpath.buffer, sizeof(driverpath), -1, 1); rpcstr_pull(datafile, i1->datafile.buffer, sizeof(datafile), -1, 1); rpcstr_pull(configfile, i1->configfile.buffer, sizeof(configfile), -1, 1); rpcstr_pull(helpfile, i1->helpfile.buffer, sizeof(helpfile), -1, 1); rpcstr_pull(monitorname, i1->monitorname.buffer, sizeof(monitorname), -1, 1); rpcstr_pull(defaultdatatype, i1->defaultdatatype.buffer, sizeof(defaultdatatype), -1, 1); printf ("Printer Driver Info 3:\n"); printf ("\tVersion: [%x]\n", i1->version); printf ("\tDriver Name: [%s]\n",name); printf ("\tArchitecture: [%s]\n", architecture); printf ("\tDriver Path: [%s]\n", driverpath); printf ("\tDatafile: [%s]\n", datafile); printf ("\tConfigfile: [%s]\n", configfile); printf ("\tHelpfile: [%s]\n\n", helpfile); while (valid) { rpcstr_pull(dependentfiles, i1->dependentfiles+length, sizeof(dependentfiles), -1, 1); length+=strlen(dependentfiles)+1; if (strlen(dependentfiles) > 0) { printf ("\tDependentfiles: [%s]\n", dependentfiles); } else { valid = (0); } } printf ("\n"); printf ("\tMonitorname: [%s]\n", monitorname); printf ("\tDefaultdatatype: [%s]\n\n", defaultdatatype); return; } static WERROR cmd_spoolss_getdriver(struct cli_state *cli, TALLOC_CTX *mem_ctx, int argc, const char **argv) { POLICY_HND pol; WERROR werror; unsigned int info_level = 3; BOOL opened_hnd = (0); PRINTER_DRIVER_CTR ctr; fstring printername, servername, user; unsigned int i; BOOL success = (0); if ((argc == 1) || (argc > 3)) { printf("Usage: %s [level]\n", argv[0]); return ((WERROR) { 0 }); } snprintf(servername, sizeof(servername)-1, "\\\\%s", cli->desthost); strupper_m(servername); ((sizeof((user)) != (sizeof(fstring)-1 +1) && sizeof((user)) != sizeof(char *)) ? __unsafe_string_function_usage_here__() : safe_strcpy_fn((""), (0), ((user)), ((cli->user_name)), (sizeof(fstring)-1))); ((sizeof((printername)) != (sizeof(fstring)-1 +1) && sizeof((printername)) != sizeof(char *)) ? __unsafe_string_function_usage_here__() : safe_strcpy_fn((""), (0), ((printername)), ((argv[1])), (sizeof(fstring)-1))); if (argc == 3) info_level = atoi(argv[2]); werror = cli_spoolss_open_printer_ex(cli, mem_ctx, printername, "", 0x00000008, servername, user, &pol); if (!(((werror).v) == 0)) { printf("Error opening printer handle for %s!\n", printername); return werror; } opened_hnd = (1); for (i=0; archi_table[i].long_archi!=((void *)0); i++) { unsigned int needed; werror = cli_spoolss_getprinterdriver( cli, mem_ctx, 0, &needed, &pol, info_level, archi_table[i].long_archi, archi_table[i].version, &ctr); if (((werror).v) == 122) { werror = cli_spoolss_getprinterdriver( cli, mem_ctx, needed, ((void *)0), &pol, info_level, archi_table[i].long_archi, archi_table[i].version, &ctr); } if (!(((werror).v) == 0)) continue; success = (1); printf ("\n[%s]\n", archi_table[i].long_archi); switch (info_level) { case 1: display_print_driver_1 (ctr.info1); break; case 2: display_print_driver_2 (ctr.info2); break; case 3: display_print_driver_3 (ctr.info3); break; default: printf("unknown info level %d\n", info_level); break; } } if (opened_hnd) cli_spoolss_close_printer (cli, mem_ctx, &pol); if ( success ) werror = ((WERROR) { 0 }); return werror; } static WERROR cmd_spoolss_enum_drivers(struct cli_state *cli, TALLOC_CTX *mem_ctx, int argc, const char **argv) { WERROR werror; unsigned int info_level = 1; PRINTER_DRIVER_CTR ctr; unsigned int i, j, returned; if (argc > 2) { printf("Usage: enumdrivers [level]\n"); return ((WERROR) { 0 }); } if (argc == 2) info_level = atoi(argv[1]); for (i=0; archi_table[i].long_archi!=((void *)0); i++) { unsigned int needed; werror = cli_spoolss_enumprinterdrivers( cli, mem_ctx, 0, &needed, info_level, archi_table[i].long_archi, &returned, &ctr); if (((werror).v) == 122) werror = cli_spoolss_enumprinterdrivers( cli, mem_ctx, needed, ((void *)0), info_level, archi_table[i].long_archi, &returned, &ctr); if (returned == 0) continue; if (!(((werror).v) == 0)) { printf ("Error getting driver for environment [%s] - %d\n", archi_table[i].long_archi, ((werror).v)); continue; } printf ("\n[%s]\n", archi_table[i].long_archi); switch (info_level) { case 1: for (j=0; j < returned; j++) { display_print_driver_1 (&(ctr.info1[j])); } break; case 2: for (j=0; j < returned; j++) { display_print_driver_2 (&(ctr.info2[j])); } break; case 3: for (j=0; j < returned; j++) { display_print_driver_3 (&(ctr.info3[j])); } break; default: printf("unknown info level %d\n", info_level); break; } } return werror; } static void display_printdriverdir_1(DRIVER_DIRECTORY_1 *i1) { fstring name; if (i1 == ((void *)0)) return; rpcstr_pull(name, i1->name.buffer, sizeof(name), -1, 1); printf ("\tDirectory Name:[%s]\n", name); } static WERROR cmd_spoolss_getdriverdir(struct cli_state *cli, TALLOC_CTX *mem_ctx, int argc, const char **argv) { WERROR result; fstring env; DRIVER_DIRECTORY_CTR ctr; unsigned int needed; if (argc > 2) { printf("Usage: %s [environment]\n", argv[0]); return ((WERROR) { 0 }); } if (argc == 2) ((sizeof((env)) != (sizeof(fstring)-1 +1) && sizeof((env)) != sizeof(char *)) ? __unsafe_string_function_usage_here__() : safe_strcpy_fn((""), (0), ((env)), ((argv[1])), (sizeof(fstring)-1))); else ((sizeof((env)) != (sizeof(fstring)-1 +1) && sizeof((env)) != sizeof(char *)) ? __unsafe_string_function_usage_here__() : safe_strcpy_fn((""), (0), ((env)), (("Windows NT x86")), (sizeof(fstring)-1))); result = cli_spoolss_getprinterdriverdir( cli, mem_ctx, 0, &needed, 1, env, &ctr); if (((result).v) == 122) result = cli_spoolss_getprinterdriverdir( cli, mem_ctx, needed, ((void *)0), 1, env, &ctr); if ((((result).v) == 0)) display_printdriverdir_1(ctr.info1); return result; } void set_drv_info_3_env (DRIVER_INFO_3 *info, const char *arch) { int i; for (i=0; archi_table[i].long_archi != ((void *)0); i++) { if (strcmp(arch, archi_table[i].short_archi) == 0) { info->version = archi_table[i].version; init_unistr (&info->architecture, archi_table[i].long_archi); break; } } if (archi_table[i].long_archi == ((void *)0)) { (void)( ((0) <= 1000) && ((DEBUGLEVEL_CLASS[ 0 ] >= (0))|| (!DEBUGLEVEL_CLASS_ISSET[ 0 ] && DEBUGLEVEL_CLASS[ 0 ] >= (0)) ) && (dbghdr( 0, "rpcclient/cmd_spoolss.c", (__FUNCTION__), (1169) )) && (dbgtext ("set_drv_info_3_env: Unknown arch [%s]\n", arch)) ); } return; } static char* get_driver_3_param (const char* str, const char* delim, UNISTR* dest) { char *ptr; ptr = strtok(str, delim); if (ptr && (StrCaseCmp(ptr, "NULL") == 0)) ptr = ((void *)0); if (dest != ((void *)0)) init_unistr(dest, ptr); return ptr; } # 1207 "rpcclient/cmd_spoolss.c" static BOOL init_drv_info_3_members ( TALLOC_CTX *mem_ctx, DRIVER_INFO_3 *info, const char *args ) { char *str, *str2; unsigned int len, i; str = get_driver_3_param (args, ":", &info->name); str = get_driver_3_param (((void *)0), ":", &info->driverpath); str = get_driver_3_param (((void *)0), ":", &info->datafile); str = get_driver_3_param (((void *)0), ":", &info->configfile); str = get_driver_3_param (((void *)0), ":", &info->helpfile); str = get_driver_3_param (((void *)0), ":", &info->monitorname); str = get_driver_3_param (((void *)0), ":", &info->defaultdatatype); str2 = get_driver_3_param (((void *)0), ":", ((void *)0)); str = str2; str = strtok(str, ","); len = 0; while (str != ((void *)0)) { len += strlen(str)+1; str = strtok(((void *)0), ","); } if ((info->dependentfiles=(unsigned short*)talloc(mem_ctx, (len+1)*sizeof(unsigned short))) == ((void *)0)) { (void)( ((0) <= 1000) && ((DEBUGLEVEL_CLASS[ 0 ] >= (0))|| (!DEBUGLEVEL_CLASS_ISSET[ 0 ] && DEBUGLEVEL_CLASS[ 0 ] >= (0)) ) && (dbghdr( 0, "rpcclient/cmd_spoolss.c", (__FUNCTION__), (1244) )) && (dbgtext ("init_drv_info_3_members: Unable to malloc memory for dependenfiles\n")) ); return (0); } for (i=0; idependentfiles[i] = (*(unsigned short *)((char *)(&info->dependentfiles[i]) + (0)))=((unsigned short)(str2[i])); } info->dependentfiles[len] = '\0'; return (1); } static WERROR cmd_spoolss_addprinterdriver(struct cli_state *cli, TALLOC_CTX *mem_ctx, int argc, const char **argv) { WERROR result; unsigned int level = 3; PRINTER_DRIVER_CTR ctr; DRIVER_INFO_3 info3; const char *arch; fstring driver_name; if (argc != 3) { printf ("Usage: %s \\\n", argv[0]); printf ("\t:::\\\n"); printf ("\t:::\\\n"); printf ("\t:\n"); return ((WERROR) { 0 }); } memset((char *)&(info3), 0, sizeof(info3)); if (!(arch = cmd_spoolss_get_short_archi(argv[1]))) { printf ("Error Unknown architechture [%s]\n", argv[1]); return ((WERROR) { 87 }); } else set_drv_info_3_env(&info3, arch); if (!init_drv_info_3_members(mem_ctx, &info3, argv[2])) { printf ("Error Invalid parameter list - %s.\n", argv[2]); return ((WERROR) { 87 }); } ctr.info3 = &info3; result = cli_spoolss_addprinterdriver (cli, mem_ctx, level, &ctr); if ((((result).v) == 0)) { rpcstr_pull(driver_name, info3.name.buffer, sizeof(driver_name), -1, 1); printf ("Printer Driver %s successfully installed.\n", driver_name); } return result; } static WERROR cmd_spoolss_addprinterex(struct cli_state *cli, TALLOC_CTX *mem_ctx, int argc, const char **argv) { WERROR result; unsigned int level = 2; PRINTER_INFO_CTR ctr; PRINTER_INFO_2 info2; fstring servername; if (argc != 5) { printf ("Usage: %s \n", argv[0]); return ((WERROR) { 0 }); } snprintf(servername, sizeof(servername)-1, "\\\\%s", cli->desthost); strupper_m(servername); memset((char *)&(info2), 0, sizeof(info2)); init_unistr( &info2.printername, argv[1]); init_unistr( &info2.sharename, argv[2]); init_unistr( &info2.drivername, argv[3]); init_unistr( &info2.portname, argv[4]); init_unistr( &info2.comment, "Created by rpcclient"); init_unistr( &info2.printprocessor, "winprint"); init_unistr( &info2.datatype, "RAW"); info2.devmode = ((void *)0); info2.secdesc = ((void *)0); info2.attributes = 0x00000008; info2.priority = 0; info2.defaultpriority = 0; info2.starttime = 0; info2.untiltime = 0; # 1358 "rpcclient/cmd_spoolss.c" ctr.printers_2 = &info2; result = cli_spoolss_addprinterex (cli, mem_ctx, level, &ctr); if ((((result).v) == 0)) printf ("Printer %s successfully installed.\n", argv[1]); return result; } static WERROR cmd_spoolss_setdriver(struct cli_state *cli, TALLOC_CTX *mem_ctx, int argc, const char **argv) { POLICY_HND pol; WERROR result; unsigned int level = 2; BOOL opened_hnd = (0); PRINTER_INFO_CTR ctr; PRINTER_INFO_2 info2; fstring servername, printername, user; unsigned int needed; if (argc != 3) { printf ("Usage: %s \n", argv[0]); return ((WERROR) { 0 }); } snprintf(servername, sizeof(servername)-1, "\\\\%s", cli->desthost); strupper_m(servername); snprintf(printername, sizeof(printername)-1, "%s\\%s", servername, argv[1]); ((sizeof((user)) != (sizeof(fstring)-1 +1) && sizeof((user)) != sizeof(char *)) ? __unsafe_string_function_usage_here__() : safe_strcpy_fn((""), (0), ((user)), ((cli->user_name)), (sizeof(fstring)-1))); result = cli_spoolss_open_printer_ex(cli, mem_ctx, printername, "", (0x00010000 | 0x00020000 | 0x00040000 | 0x00080000)|0x00000004|0x00000008, servername, user, &pol); if (!(((result).v) == 0)) goto done; opened_hnd = (1); memset((char *)&(info2), 0, sizeof(info2)); ctr.printers_2 = &info2; result = cli_spoolss_getprinter(cli, mem_ctx, 0, &needed, &pol, level, &ctr); if (((result).v) == 122) result = cli_spoolss_getprinter( cli, mem_ctx, needed, ((void *)0), &pol, level, &ctr); if (!(((result).v) == 0)) { printf ("Unable to retrieve printer information!\n"); goto done; } init_unistr(&ctr.printers_2->drivername, argv[2]); result = cli_spoolss_setprinter(cli, mem_ctx, &pol, level, &ctr, 0); if (!(((result).v) == 0)) { printf("SetPrinter call failed!\n"); goto done;; } printf("Succesfully set %s to driver %s.\n", argv[1], argv[2]); done: if (opened_hnd) cli_spoolss_close_printer(cli, mem_ctx, &pol); return result; } static WERROR cmd_spoolss_deletedriver(struct cli_state *cli, TALLOC_CTX *mem_ctx, int argc, const char **argv) { WERROR result; fstring servername; int i; if (argc != 2) { printf ("Usage: %s \n", argv[0]); return ((WERROR) { 0 }); } snprintf(servername, sizeof(servername)-1, "\\\\%s", cli->desthost); strupper_m(servername); for (i=0; archi_table[i].long_archi; i++) { result = cli_spoolss_deleteprinterdriver( cli, mem_ctx, archi_table[i].long_archi, argv[1]); if ( !(((result).v) == 0) ) { if ( !(((result).v) == ((((WERROR) { 1797 })).v)) ) { printf ("Failed to remove driver %s for arch [%s] - error 0x%x!\n", argv[1], archi_table[i].long_archi, ((result).v)); } } else { printf ("Driver %s removed for arch [%s].\n", argv[1], archi_table[i].long_archi); } } return result; } static WERROR cmd_spoolss_getprintprocdir(struct cli_state *cli, TALLOC_CTX *mem_ctx, int argc, const char **argv) { WERROR result; char *servername = ((void *)0), *environment = ((void *)0); fstring procdir; unsigned int needed; if (argc > 2) { printf ("Usage: %s [environment]\n", argv[0]); return ((WERROR) { 0 }); } if (asprintf(&servername, "\\\\%s", cli->desthost) < 0) return ((WERROR) { 8 }); strupper_m(servername); if (asprintf(&environment, "%s", (argc == 2) ? argv[1] : "Windows NT x86") < 0) { do { if ((servername) != ((void *)0)) {free(servername); servername=((void *)0);} } while(0); return ((WERROR) { 8 }); } result = cli_spoolss_getprintprocessordirectory( cli, mem_ctx, 0, &needed, servername, environment, procdir); if (((result).v) == 122) result = cli_spoolss_getprintprocessordirectory( cli, mem_ctx, needed, ((void *)0), servername, environment, procdir); if ((((result).v) == 0)) printf("%s\n", procdir); do { if ((servername) != ((void *)0)) {free(servername); servername=((void *)0);} } while(0); do { if ((environment) != ((void *)0)) {free(environment); environment=((void *)0);} } while(0); return result; } static WERROR cmd_spoolss_addform(struct cli_state *cli, TALLOC_CTX *mem_ctx, int argc, const char **argv) { POLICY_HND handle; WERROR werror; char *servername = ((void *)0), *printername = ((void *)0); FORM form; BOOL got_handle = (0); if (argc != 3) { printf ("Usage: %s \n", argv[0]); return ((WERROR) { 0 }); } asprintf(&servername, "\\\\%s", cli->desthost); strupper_m(servername); asprintf(&printername, "%s\\%s", servername, argv[1]); werror = cli_spoolss_open_printer_ex(cli, mem_ctx, printername, "", (1L<<25), servername, cli->user_name, &handle); if (!(((werror).v) == 0)) goto done; got_handle = (1); form.flags = 0; form.size_x = form.size_y = 100; form.left = 0; form.top = 10; form.right = 20; form.bottom = 30; init_unistr2(&form.name, argv[2], strlen(argv[2]) + 1); werror = cli_spoolss_addform(cli, mem_ctx, &handle, 1, &form); done: if (got_handle) cli_spoolss_close_printer(cli, mem_ctx, &handle); do { if ((servername) != ((void *)0)) {free(servername); servername=((void *)0);} } while(0); do { if ((printername) != ((void *)0)) {free(printername); printername=((void *)0);} } while(0); return werror; } static WERROR cmd_spoolss_setform(struct cli_state *cli, TALLOC_CTX *mem_ctx, int argc, const char **argv) { POLICY_HND handle; WERROR werror; char *servername = ((void *)0), *printername = ((void *)0); FORM form; BOOL got_handle = (0); if (argc != 3) { printf ("Usage: %s \n", argv[0]); return ((WERROR) { 0 }); } asprintf(&servername, "\\\\%s", cli->desthost); strupper_m(servername); asprintf(&printername, "%s\\%s", servername, argv[1]); werror = cli_spoolss_open_printer_ex( cli, mem_ctx, printername, "", (1L<<25), servername, cli->user_name, &handle); if (!(((werror).v) == 0)) goto done; got_handle = (1); form.flags = 2; form.size_x = form.size_y = 100; form.left = 0; form.top = 1000; form.right = 2000; form.bottom = 3000; init_unistr2(&form.name, argv[2], strlen(argv[2]) + 1); werror = cli_spoolss_setform(cli, mem_ctx, &handle, 1, argv[2], &form); done: if (got_handle) cli_spoolss_close_printer(cli, mem_ctx, &handle); do { if ((servername) != ((void *)0)) {free(servername); servername=((void *)0);} } while(0); do { if ((printername) != ((void *)0)) {free(printername); printername=((void *)0);} } while(0); return werror; } static WERROR cmd_spoolss_getform(struct cli_state *cli, TALLOC_CTX *mem_ctx, int argc, const char **argv) { POLICY_HND handle; WERROR werror; char *servername = ((void *)0), *printername = ((void *)0); FORM_1 form; BOOL got_handle = (0); unsigned int needed; if (argc != 3) { printf ("Usage: %s \n", argv[0]); return ((WERROR) { 0 }); } asprintf(&servername, "\\\\%s", cli->desthost); strupper_m(servername); asprintf(&printername, "%s\\%s", servername, argv[1]); werror = cli_spoolss_open_printer_ex( cli, mem_ctx, printername, "", (1L<<25), servername, cli->user_name, &handle); if (!(((werror).v) == 0)) goto done; got_handle = (1); werror = cli_spoolss_getform(cli, mem_ctx, 0, &needed, &handle, argv[2], 1, &form); if (((werror).v) == 122) werror = cli_spoolss_getform(cli, mem_ctx, needed, ((void *)0), &handle, argv[2], 1, &form); if (!(((werror).v) == 0)) goto done; printf("width: %d\n", form.width); printf("length: %d\n", form.length); printf("left: %d\n", form.left); printf("top: %d\n", form.top); printf("right: %d\n", form.right); printf("bottom: %d\n", form.bottom); done: if (got_handle) cli_spoolss_close_printer(cli, mem_ctx, &handle); do { if ((servername) != ((void *)0)) {free(servername); servername=((void *)0);} } while(0); do { if ((printername) != ((void *)0)) {free(printername); printername=((void *)0);} } while(0); return werror; } static WERROR cmd_spoolss_deleteform(struct cli_state *cli, TALLOC_CTX *mem_ctx, int argc, const char **argv) { POLICY_HND handle; WERROR werror; char *servername = ((void *)0), *printername = ((void *)0); BOOL got_handle = (0); if (argc != 3) { printf ("Usage: %s \n", argv[0]); return ((WERROR) { 0 }); } asprintf(&servername, "\\\\%s", cli->desthost); strupper_m(servername); asprintf(&printername, "%s\\%s", servername, argv[1]); werror = cli_spoolss_open_printer_ex( cli, mem_ctx, printername, "", (1L<<25), servername, cli->user_name, &handle); if (!(((werror).v) == 0)) goto done; got_handle = (1); werror = cli_spoolss_deleteform(cli, mem_ctx, &handle, argv[2]); done: if (got_handle) cli_spoolss_close_printer(cli, mem_ctx, &handle); do { if ((servername) != ((void *)0)) {free(servername); servername=((void *)0);} } while(0); do { if ((printername) != ((void *)0)) {free(printername); printername=((void *)0);} } while(0); return werror; } static WERROR cmd_spoolss_enum_forms(struct cli_state *cli, TALLOC_CTX *mem_ctx, int argc, const char **argv) { POLICY_HND handle; WERROR werror; char *servername = ((void *)0), *printername = ((void *)0); BOOL got_handle = (0); unsigned int needed, num_forms, level = 1, i; FORM_1 *forms; if (argc != 2) { printf ("Usage: %s \n", argv[0]); return ((WERROR) { 0 }); } asprintf(&servername, "\\\\%s", cli->desthost); strupper_m(servername); asprintf(&printername, "%s\\%s", servername, argv[1]); werror = cli_spoolss_open_printer_ex( cli, mem_ctx, printername, "", (1L<<25), servername, cli->user_name, &handle); if (!(((werror).v) == 0)) goto done; got_handle = (1); werror = cli_spoolss_enumforms( cli, mem_ctx, 0, &needed, &handle, level, &num_forms, &forms); if (((werror).v) == 122) werror = cli_spoolss_enumforms( cli, mem_ctx, needed, ((void *)0), &handle, level, &num_forms, &forms); if (!(((werror).v) == 0)) goto done; for (i = 0; i < num_forms; i++) { fstring form_name; if (forms[i].name.buffer) rpcstr_pull(form_name, forms[i].name.buffer, sizeof(form_name), -1, 1); printf("%s\n", form_name); } done: if (got_handle) cli_spoolss_close_printer(cli, mem_ctx, &handle); do { if ((servername) != ((void *)0)) {free(servername); servername=((void *)0);} } while(0); do { if ((printername) != ((void *)0)) {free(printername); printername=((void *)0);} } while(0); return werror; } static WERROR cmd_spoolss_setprinterdata(struct cli_state *cli, TALLOC_CTX *mem_ctx, int argc, const char **argv) { WERROR result; unsigned int needed; fstring servername, printername, user; POLICY_HND pol; BOOL opened_hnd = (0); PRINTER_INFO_CTR ctr; PRINTER_INFO_0 info; REGISTRY_VALUE value; if (argc != 4) { printf ("Usage: %s \n", argv[0]); return ((WERROR) { 0 }); } snprintf(servername, sizeof(servername)-1, "\\\\%s", cli->desthost); strupper_m(servername); snprintf(printername, sizeof(servername)-1, "%s\\%s", servername, argv[1]); ((sizeof((user)) != (sizeof(fstring)-1 +1) && sizeof((user)) != sizeof(char *)) ? __unsafe_string_function_usage_here__() : safe_strcpy_fn((""), (0), ((user)), ((cli->user_name)), (sizeof(fstring)-1))); result = cli_spoolss_open_printer_ex(cli, mem_ctx, printername, "", (1L<<25), servername, user, &pol); if (!(((result).v) == 0)) goto done; opened_hnd = (1); ctr.printers_0 = &info; result = cli_spoolss_getprinter(cli, mem_ctx, 0, &needed, &pol, 0, &ctr); if (((result).v) == 122) result = cli_spoolss_getprinter(cli, mem_ctx, needed, ((void *)0), &pol, 0, &ctr); if (!(((result).v) == 0)) goto done; printf("%s\n", timestring((1))); printf("\tchange_id (before set)\t:[0x%x]\n", info.change_id); ((sizeof((value.valuename)) != (sizeof(fstring)-1 +1) && sizeof((value.valuename)) != sizeof(char *)) ? __unsafe_string_function_usage_here__() : safe_strcpy_fn((""), (0), ((value.valuename)), ((argv[2])), (sizeof(fstring)-1))); value.type = 1; value.size = strlen(argv[3]) + 1; value.data_p = talloc_memdup(mem_ctx, argv[3], value.size); result = cli_spoolss_setprinterdata(cli, mem_ctx, &pol, &value); if (!(((result).v) == 0)) { printf ("Unable to set [%s=%s]!\n", argv[2], argv[3]); goto done; } printf("\tSetPrinterData succeeded [%s: %s]\n", argv[2], argv[3]); result = cli_spoolss_getprinter(cli, mem_ctx, 0, &needed, &pol, 0, &ctr); if (((result).v) == 122) result = cli_spoolss_getprinter(cli, mem_ctx, needed, ((void *)0), &pol, 0, &ctr); if (!(((result).v) == 0)) goto done; printf("%s\n", timestring((1))); printf("\tchange_id (after set)\t:[0x%x]\n", info.change_id); done: if (opened_hnd) cli_spoolss_close_printer(cli, mem_ctx, &pol); return result; } static void display_job_info_1(JOB_INFO_1 *job) { fstring username = "", document = "", text_status = ""; rpcstr_pull(username, job->username.buffer, sizeof(username), -1, 1); rpcstr_pull(document, job->document.buffer, sizeof(document), -1, 1); rpcstr_pull(text_status, job->text_status.buffer, sizeof(text_status), -1, 1); printf("%d: jobid[%d]: %s %s %s %d/%d pages\n", job->position, job->jobid, username, document, text_status, job->pagesprinted, job->totalpages); } static void display_job_info_2(JOB_INFO_2 *job) { fstring username = "", document = "", text_status = ""; rpcstr_pull(username, job->username.buffer, sizeof(username), -1, 1); rpcstr_pull(document, job->document.buffer, sizeof(document), -1, 1); rpcstr_pull(text_status, job->text_status.buffer, sizeof(text_status), -1, 1); printf("%d: jobid[%d]: %s %s %s %d/%d pages, %d bytes\n", job->position, job->jobid, username, document, text_status, job->pagesprinted, job->totalpages, job->size); } static WERROR cmd_spoolss_enum_jobs(struct cli_state *cli, TALLOC_CTX *mem_ctx, int argc, const char **argv) { WERROR result; unsigned int needed, level = 1, num_jobs, i; BOOL got_hnd = (0); pstring printername; fstring servername, user; POLICY_HND hnd; JOB_INFO_CTR ctr; if (argc < 2 || argc > 3) { printf("Usage: %s printername [level]\n", argv[0]); return ((WERROR) { 0 }); } if (argc == 3) level = atoi(argv[2]); snprintf(servername, sizeof(servername)-1, "\\\\%s", cli->desthost); strupper_m(servername); ((sizeof((user)) != (sizeof(fstring)-1 +1) && sizeof((user)) != sizeof(char *)) ? __unsafe_string_function_usage_here__() : safe_strcpy_fn((""), (0), ((user)), ((cli->user_name)), (sizeof(fstring)-1))); snprintf(printername, sizeof(servername)-1, "\\\\%s\\", cli->desthost); strupper_m(printername); ((sizeof((printername)) != (sizeof(pstring)-1 +1) && sizeof((printername)) != sizeof(char *)) ? __unsafe_string_function_usage_here__() : safe_strcat_fn((""), (0), ((printername)), ((argv[1])), (sizeof(pstring)-1))); result = cli_spoolss_open_printer_ex(cli, mem_ctx, printername, "", (1L<<25), servername, user, &hnd); if (!(((result).v) == 0)) goto done; got_hnd = (1); result = cli_spoolss_enumjobs( cli, mem_ctx, 0, &needed, &hnd, level, 0, 1000, &num_jobs, &ctr); if (((result).v) == 122) result = cli_spoolss_enumjobs( cli, mem_ctx, needed, ((void *)0), &hnd, level, 0, 1000, &num_jobs, &ctr); if (!(((result).v) == 0)) goto done; for (i = 0; i < num_jobs; i++) { switch(level) { case 1: display_job_info_1(&ctr.job.job_info_1[i]); break; case 2: display_job_info_2(&ctr.job.job_info_2[i]); break; default: d_printf("unknown info level %d\n", level); break; } } done: if (got_hnd) cli_spoolss_close_printer(cli, mem_ctx, &hnd); return result; } static WERROR cmd_spoolss_enum_data( struct cli_state *cli, TALLOC_CTX *mem_ctx, int argc, const char **argv) { WERROR result; unsigned int i=0, val_needed, data_needed; BOOL got_hnd = (0); pstring printername; fstring servername, user; POLICY_HND hnd; if (argc != 2) { printf("Usage: %s printername\n", argv[0]); return ((WERROR) { 0 }); } snprintf(servername, sizeof(servername)-1, "\\\\%s", cli->desthost); strupper_m(servername); ((sizeof((user)) != (sizeof(fstring)-1 +1) && sizeof((user)) != sizeof(char *)) ? __unsafe_string_function_usage_here__() : safe_strcpy_fn((""), (0), ((user)), ((cli->user_name)), (sizeof(fstring)-1))); snprintf(printername, sizeof(printername)-1, "\\\\%s\\", cli->desthost); strupper_m(printername); ((sizeof((printername)) != (sizeof(pstring)-1 +1) && sizeof((printername)) != sizeof(char *)) ? __unsafe_string_function_usage_here__() : safe_strcat_fn((""), (0), ((printername)), ((argv[1])), (sizeof(pstring)-1))); result = cli_spoolss_open_printer_ex(cli, mem_ctx, printername, "", (1L<<25), servername, user, &hnd); if (!(((result).v) == 0)) goto done; got_hnd = (1); result = cli_spoolss_enumprinterdata(cli, mem_ctx, &hnd, i, 0, 0, &val_needed, &data_needed, ((void *)0)); while ((((result).v) == 0)) { REGISTRY_VALUE value; result = cli_spoolss_enumprinterdata( cli, mem_ctx, &hnd, i++, val_needed, data_needed, 0, 0, &value); if ((((result).v) == 0)) display_reg_value(value); } if (((result).v) == 259) result = ((WERROR) { 0 }); done: if (got_hnd) cli_spoolss_close_printer(cli, mem_ctx, &hnd); return result; } static WERROR cmd_spoolss_enum_data_ex( struct cli_state *cli, TALLOC_CTX *mem_ctx, int argc, const char **argv) { WERROR result; unsigned int needed, i; BOOL got_hnd = (0); pstring printername; fstring servername, user; const char *keyname = ((void *)0); POLICY_HND hnd; REGVAL_CTR ctr; if (argc != 3) { printf("Usage: %s printername \n", argv[0]); return ((WERROR) { 0 }); } keyname = argv[2]; snprintf(servername, sizeof(servername)-1, "\\\\%s", cli->desthost); strupper_m(servername); ((sizeof((user)) != (sizeof(fstring)-1 +1) && sizeof((user)) != sizeof(char *)) ? __unsafe_string_function_usage_here__() : safe_strcpy_fn((""), (0), ((user)), ((cli->user_name)), (sizeof(fstring)-1))); snprintf(printername, sizeof(printername)-1, "\\\\%s\\", cli->desthost); strupper_m(printername); ((sizeof((printername)) != (sizeof(pstring)-1 +1) && sizeof((printername)) != sizeof(char *)) ? __unsafe_string_function_usage_here__() : safe_strcat_fn((""), (0), ((printername)), ((argv[1])), (sizeof(pstring)-1))); result = cli_spoolss_open_printer_ex(cli, mem_ctx, printername, "", (1L<<25), servername, user, &hnd); if (!(((result).v) == 0)) goto done; got_hnd = (1); result = cli_spoolss_enumprinterdataex( cli, mem_ctx, 0, &needed, &hnd, keyname, ((void *)0)); if (((result).v) == 234) result = cli_spoolss_enumprinterdataex( cli, mem_ctx, needed, ((void *)0), &hnd, keyname, &ctr); if (!(((result).v) == 0)) goto done; for (i=0; i < ctr.num_values; i++) { display_reg_value(*(ctr.values[i])); } regval_ctr_destroy(&ctr); done: if (got_hnd) cli_spoolss_close_printer(cli, mem_ctx, &hnd); return result; } static WERROR cmd_spoolss_enum_printerkey( struct cli_state *cli, TALLOC_CTX *mem_ctx, int argc, const char **argv) { WERROR result; unsigned int needed, returned; BOOL got_hnd = (0); pstring printername; fstring servername, user; const char *keyname = ((void *)0); POLICY_HND hnd; unsigned short *keylist = ((void *)0), *curkey; if (argc < 2 || argc > 3) { printf("Usage: %s printername [keyname]\n", argv[0]); return ((WERROR) { 0 }); } if (argc == 3) keyname = argv[2]; else keyname = ""; snprintf(servername, sizeof(servername)-1, "\\\\%s", cli->desthost); strupper_m(servername); ((sizeof((user)) != (sizeof(fstring)-1 +1) && sizeof((user)) != sizeof(char *)) ? __unsafe_string_function_usage_here__() : safe_strcpy_fn((""), (0), ((user)), ((cli->user_name)), (sizeof(fstring)-1))); snprintf(printername, sizeof(printername)-1, "\\\\%s\\", cli->desthost); strupper_m(printername); ((sizeof((printername)) != (sizeof(pstring)-1 +1) && sizeof((printername)) != sizeof(char *)) ? __unsafe_string_function_usage_here__() : safe_strcat_fn((""), (0), ((printername)), ((argv[1])), (sizeof(pstring)-1))); result = cli_spoolss_open_printer_ex(cli, mem_ctx, printername, "", (1L<<25), servername, user, &hnd); if (!(((result).v) == 0)) goto done; got_hnd = (1); result = cli_spoolss_enumprinterkey( cli, mem_ctx, 0, &needed, &hnd, keyname, ((void *)0), ((void *)0)); if (((result).v) == 234) result = cli_spoolss_enumprinterkey( cli, mem_ctx, needed, ((void *)0), &hnd, keyname, &keylist, &returned); if (!(((result).v) == 0)) goto done; curkey = keylist; while (*curkey != 0) { pstring subkey; rpcstr_pull(subkey, curkey, sizeof(subkey), -1, 1); printf("%s\n", subkey); curkey += strlen(subkey) + 1; } safe_free(keylist); done: if (got_hnd) cli_spoolss_close_printer(cli, mem_ctx, &hnd); return result; } static WERROR cmd_spoolss_rffpcnex(struct cli_state *cli, TALLOC_CTX *mem_ctx, int argc, const char **argv) { fstring servername, printername; POLICY_HND hnd; BOOL got_hnd = (0); WERROR result; SPOOL_NOTIFY_OPTION option; if (argc != 2) { printf("Usage: %s printername\n", argv[0]); result = ((WERROR) { 0 }); goto done; } snprintf(servername, sizeof(servername) - 1, "\\\\%s", cli->desthost); strupper_m(servername); snprintf(printername, sizeof(printername) - 1, "\\\\%s\\%s", cli->desthost, argv[1]); strupper_m(printername); result = cli_spoolss_open_printer_ex( cli, mem_ctx, printername, "", (1L<<25), servername, cli->user_name, &hnd); if (!(((result).v) == 0)) { printf("Error opening %s\n", argv[1]); goto done; } got_hnd = (1); memset((char *)&(option), 0, sizeof(option)); option.version = 2; option.option_type_ptr = 1; option.count = option.ctr.count = 2; option.ctr.type = (SPOOL_NOTIFY_OPTION_TYPE *)talloc( mem_ctx, sizeof(SPOOL_NOTIFY_OPTION_TYPE) * 2); memset((char *)&(option.ctr.type[0]), 0, sizeof(option.ctr.type[0])); option.ctr.type[0].type = 0x00; option.ctr.type[0].count = option.ctr.type[0].count2 = 1; option.ctr.type[0].fields_ptr = 1; option.ctr.type[0].fields[0] = 0x00; memset((char *)&(option.ctr.type[1]), 0, sizeof(option.ctr.type[1])); option.ctr.type[1].type = 0x01; option.ctr.type[1].count = option.ctr.type[1].count2 = 1; option.ctr.type[1].fields_ptr = 1; option.ctr.type[1].fields[0] = 0x00; snprintf(servername, sizeof(servername) - 1, "\\\\%s", myhostname()); strupper_m(servername); result = cli_spoolss_rffpcnex( cli, mem_ctx, &hnd, 0, 0, servername, 123, &option); if (!(((result).v) == 0)) { printf("Error rffpcnex %s\n", argv[1]); goto done; } done: if (got_hnd) cli_spoolss_close_printer(cli, mem_ctx, &hnd); return result; } struct cmd_set spoolss_commands[] = { { "SPOOLSS" }, { "adddriver", RPC_RTYPE_WERROR, ((void *)0), cmd_spoolss_addprinterdriver, 7, "Add a print driver", "" }, { "addprinter", RPC_RTYPE_WERROR, ((void *)0), cmd_spoolss_addprinterex, 7, "Add a printer", "" }, { "deldriver", RPC_RTYPE_WERROR, ((void *)0), cmd_spoolss_deletedriver, 7, "Delete a printer driver", "" }, { "enumdata", RPC_RTYPE_WERROR, ((void *)0), cmd_spoolss_enum_data, 7, "Enumerate printer data", "" }, { "enumdataex", RPC_RTYPE_WERROR, ((void *)0), cmd_spoolss_enum_data_ex, 7, "Enumerate printer data for a key", "" }, { "enumkey", RPC_RTYPE_WERROR, ((void *)0), cmd_spoolss_enum_printerkey, 7, "Enumerate printer keys", "" }, { "enumjobs", RPC_RTYPE_WERROR, ((void *)0), cmd_spoolss_enum_jobs, 7, "Enumerate print jobs", "" }, { "enumports", RPC_RTYPE_WERROR, ((void *)0), cmd_spoolss_enum_ports, 7, "Enumerate printer ports", "" }, { "enumdrivers", RPC_RTYPE_WERROR, ((void *)0), cmd_spoolss_enum_drivers, 7, "Enumerate installed printer drivers", "" }, { "enumprinters", RPC_RTYPE_WERROR, ((void *)0), cmd_spoolss_enum_printers, 7, "Enumerate printers", "" }, { "getdata", RPC_RTYPE_WERROR, ((void *)0), cmd_spoolss_getprinterdata, 7, "Get print driver data", "" }, { "getdataex", RPC_RTYPE_WERROR, ((void *)0), cmd_spoolss_getprinterdataex, 7, "Get printer driver data with keyname", ""}, { "getdriver", RPC_RTYPE_WERROR, ((void *)0), cmd_spoolss_getdriver, 7, "Get print driver information", "" }, { "getdriverdir", RPC_RTYPE_WERROR, ((void *)0), cmd_spoolss_getdriverdir, 7, "Get print driver upload directory", "" }, { "getprinter", RPC_RTYPE_WERROR, ((void *)0), cmd_spoolss_getprinter, 7, "Get printer info", "" }, { "getprintprocdir",RPC_RTYPE_WERROR, ((void *)0), cmd_spoolss_getprintprocdir, 7, "Get print processor directory", "" }, { "openprinter", RPC_RTYPE_WERROR, ((void *)0), cmd_spoolss_open_printer_ex, 7, "Open printer handle", "" }, { "setdriver", RPC_RTYPE_WERROR, ((void *)0), cmd_spoolss_setdriver, 7, "Set printer driver", "" }, { "getprintprocdir", RPC_RTYPE_WERROR, ((void *)0), cmd_spoolss_getprintprocdir, 7, "Get print processor directory", "" }, { "addform", RPC_RTYPE_WERROR, ((void *)0), cmd_spoolss_addform, 7, "Add form", "" }, { "setform", RPC_RTYPE_WERROR, ((void *)0), cmd_spoolss_setform, 7, "Set form", "" }, { "getform", RPC_RTYPE_WERROR, ((void *)0), cmd_spoolss_getform, 7, "Get form", "" }, { "deleteform", RPC_RTYPE_WERROR, ((void *)0), cmd_spoolss_deleteform, 7, "Delete form", "" }, { "enumforms", RPC_RTYPE_WERROR, ((void *)0), cmd_spoolss_enum_forms, 7, "Enumerate forms", "" }, { "setprinter", RPC_RTYPE_WERROR, ((void *)0), cmd_spoolss_setprinter, 7, "Set printer comment", "" }, { "setprinterdata", RPC_RTYPE_WERROR, ((void *)0), cmd_spoolss_setprinterdata, 7, "Set REG_SZ printer data", "" }, { "rffpcnex", RPC_RTYPE_WERROR, ((void *)0), cmd_spoolss_rffpcnex, 7, "Rffpcnex test", "" }, { ((void *)0) } };