Ignore:
Timestamp:
Nov 27, 2012, 4:43:17 PM (13 years ago)
Author:
Silvan Scherrer
Message:

Samba Server: updated trunk to 3.6.0

Location:
trunk/server
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/server

  • trunk/server/librpc/idl/spoolss.idl

    r596 r745  
    3030
    3131        typedef struct {
    32                 [value(ndr_size_spoolss_Time(time, ndr->iconv_convenience, ndr->flags))] uint32 size;
     32                [value(ndr_size_spoolss_Time(time, ndr->flags))] uint32 size;
    3333                [unique] spoolss_Time *time;
    3434        } spoolss_TimeCtr;
     
    120120        } spoolss_JobStatus;
    121121
     122        typedef [v1_enum] enum {
     123                SPOOLSS_DEBUGGING_BUILD         = 0x00000000,
     124                SPOOLSS_RELEASE_BUILD           = 0x00000001
     125        } spoolss_Build;
     126
    122127        typedef [public,gensize] struct {
    123128                [relative] nstring *printername;
     
    130135                uint32 total_pages;
    131136                uint32 version;
    132                 uint32 free_build;
     137                spoolss_Build free_build;
    133138                uint32 spooling;
    134139                uint32 max_spooling;
     
    151156                uint32 reserved3;
    152157        } spoolss_PrinterInfo0;
     158
     159        /* Device Mode Extra Data */
     160
     161        typedef [v1_enum] enum {
     162                SPOOLSS_DM_SIGNATURE_UNIDRVEXTRA        = 0x554e4944, /* 0x44494e55 */
     163                SPOOLSS_DM_SIGNATURE_JTEXP              = 0x4a544d53, /* 0x534d544a */
     164                SPOOLSS_DM_SIGNATURE_PSEXTRA            = 0x50524956 /* 0x56495250 */
     165        } spoolss_DM_Signature;
     166
     167        typedef [v1_enum] enum {
     168                SPOOLSS_DM_LAYOUT_NUP_DISABLED          = 0x00000000,
     169                SPOOLSS_DM_LAYOUT_NUP_2                 = 0x00000001,
     170                SPOOLSS_DM_LAYOUT_NUP_4                 = 0x00000002,
     171                SPOOLSS_DM_LAYOUT_NUP_6                 = 0x00000003,
     172                SPOOLSS_DM_LAYOUT_NUP_9                 = 0x00000004,
     173                SPOOLSS_DM_LAYOUT_NUP_16                = 0x00000005,
     174                SPOOLSS_DM_LAYOUT_BOOKLET               = 0x00000006
     175        } spoolss_DM_Layout;
     176
     177        typedef [v1_enum] enum {
     178                SPOOLSS_DM_NUP_DIRECTION_L2R_T2B        = 0x00000001,
     179                SPOOLSS_DM_NUP_DIRECTION_T2B_L2R        = 0x00000002,
     180                SPOOLSS_DM_NUP_DIRECTION_R2L_T2B        = 0x00000004,
     181                SPOOLSS_DM_NUP_DIRECTION_T2B_R2L        = 0x00000008
     182        } spoolss_DM_NupDirection;
     183
     184        typedef [v1_enum] enum {
     185                SPOOLSS_DM_NUP_BORDER_PRINT             = 0x00000000,
     186                SPOOLSS_DM_NUP_BORDER_NONE              = 0x00000001
     187        } spoolss_DM_NupBorderFlags;
     188
     189        typedef [v1_enum] enum {
     190                SPOOLSS_DM_BOOKLET_LEFT_FLIP            = 0x00000000,
     191                SPOOLSS_DM_BOOKLET_RIGHT_FLIP           = 0x00000001
     192        } spoolss_DM_BookletFlags;
     193
     194        /* Device Mode Extra Data: PostScript */
     195
     196        /* NT 3.51 */
     197
     198        typedef [bitmap32bit] bitmap {
     199                SPOOLSS_DM_PS_FLAGS_DRV_ERROR_HANDLER   = 0x00000002,
     200                SPOOLSS_DM_PS_FLAGS_PRINT_MIRROR        = 0x00000004,
     201                SPOOLSS_DM_PS_FLAGS_PRINT_NEGATIVE      = 0x00000010,
     202                SPOOLSS_DM_PS_FLAGS_COMPRESS_BITMAP     = 0x00000040,
     203                SPOOLSS_DM_PS_FLAGS_ROTATE_180          = 0x00000200,
     204                SPOOLSS_DM_PS_FLAGS_GDI_METAFILE_SPOOL  = 0x00002000
     205        } spoolss_DMPS_Flags;
     206
     207        typedef struct {
     208                [value(SPOOLSS_DM_SIGNATURE_PSEXTRA)] spoolss_DM_Signature dwSignature;
     209                spoolss_DMPS_Flags dwFlags;
     210                uint32 wchEPSFile[12];
     211                [value(24)] uint16 caSize;
     212                uint16 caFlags;
     213                uint16 caIlluminantIndex;
     214                uint16 caRedGamma;
     215                uint16 caGreenGamma;
     216                uint16 caBlueGamma;
     217                uint16 caReferenceBlack;
     218                uint16 caReferenceWhite;
     219                uint16 caContrast;
     220                uint16 caBrightness;
     221                uint16 caColorfulness;
     222                uint16 caRedGreenTint;
     223        } spoolss_PSDRVEXTRA351;
     224
     225        /* NT 4.0 */
     226
     227        typedef struct {
     228                [value(SPOOLSS_DM_SIGNATURE_PSEXTRA)] spoolss_DM_Signature dwSignature;
     229                spoolss_DMPS_Flags dwFlags;
     230                uint32 wchEPSFile[12];
     231                [value(24)] uint16 caSize;
     232                uint16 caFlags;
     233                uint16 caIlluminantIndex;
     234                uint16 caRedGamma;
     235                uint16 caGreenGamma;
     236                uint16 caBlueGamma;
     237                uint16 caReferenceBlack;
     238                uint16 caReferenceWhite;
     239                uint16 caContrast;
     240                uint16 caBrightness;
     241                uint16 caColorfulness;
     242                uint16 caRedGreenTint;
     243                uint16 wChecksum;
     244                uint16 wOptions;
     245                uint32 aubOptions[8];
     246        } spoolss_PSDRVEXTRA400;
     247
     248        /* 2000 & XP */
     249
     250        typedef [v1_enum] enum {
     251                SPOOLSS_DM_PS_OPTIMIZE_SPEED            = 0x00000000,
     252                SPOOLSS_DM_PS_OPTIMIZE_PORTABILITY      = 0x00000001,
     253                SPOOLSS_DM_PS_OPTIMIZE_EPS              = 0x00000002,
     254                SPOOLSS_DM_PS_OPTIMIZE_ARCHIVAL         = 0x00000003
     255        } spoolss_DMPS_Dialect;
     256
     257        typedef [v1_enum] enum {
     258                SPOOLSS_DM_PS_TTDLFMT_DEFAULT           = 0x00000000,
     259                SPOOLSS_DM_PS_TTDLFMT_TYPE_1            = 0x00000001,
     260                SPOOLSS_DM_PS_TTDLFMT_TYPE_3            = 0x00000002,
     261                SPOOLSS_DM_PS_TTDLFMT_TYPE_42           = 0x00000003
     262        } spoolss_DMPS_TTDLFmt;
     263
     264        typedef [v1_enum] enum {
     265                SPOOLSS_DM_PS_PSLEVEL_1 = 0x00000001,
     266                SPOOLSS_DM_PS_PSLEVEL_2 = 0x00000002,
     267                SPOOLSS_DM_PS_PSLEVEL_3 = 0x00000003
     268        } spoolss_DMPS_PSLevel;
     269
     270        typedef enum {
     271                SPOOLSS_DM_PS_FEED_DIRECTION_LONG_EDGE_FIRST            = 0x0000,
     272                SPOOLSS_DM_PS_FEED_DIRECTION_SHORT_EDGE_FIRST           = 0x0001,
     273                SPOOLSS_DM_PS_FEED_DIRECTION_LONG_EDGE_FIRST_UPSIDEDOWN = 0x0002,
     274                SPOOLSS_DM_PS_FEED_DIRECTION_SHORT_EDGE_FIRST_UPSIDEDOWN= 0x0003
     275        } spoolss_DMPS_FeedDirection;
     276
     277        typedef struct {
     278                [value(SPOOLSS_DM_SIGNATURE_PSEXTRA)] spoolss_DM_Signature dwSignature;
     279                spoolss_DMPS_Flags dwFlags;
     280                uint32 wchEPSFile[12];
     281                [value(24)] uint16 caSize;
     282                uint16 caFlags;
     283                uint16 caIlluminantIndex;
     284                uint16 caRedGamma;
     285                uint16 caGreenGamma;
     286                uint16 caBlueGamma;
     287                uint16 caReferenceBlack;
     288                uint16 caReferenceWhite;
     289                uint16 caContrast;
     290                uint16 caBrightness;
     291                uint16 caColorfulness;
     292                uint16 caRedGreenTint;
     293                uint16 wReserved1;
     294                uint16 wSize;
     295                uint32 fxScrFreq;
     296                uint32 fxScrAngle;
     297                spoolss_DMPS_Dialect iDialect;
     298                spoolss_DMPS_TTDLFmt iTTDLFmt;
     299                boolean32 bReversePrint;
     300                spoolss_DM_Layout iLayout;
     301                spoolss_DMPS_PSLevel iPSLevel;
     302                uint32 dwReserved2;
     303                uint16 wOEMExtra;
     304                [value(0x0010)] uint16 wVer;
     305                uint32 dwX;
     306                uint32 dwY;
     307                uint32 dwWidthOffset;
     308                uint32 dwHeightOffset;
     309                spoolss_DMPS_FeedDirection wFeedDirection;
     310                uint16 wCutSheet;
     311                uint32 dwReserved3[4];
     312                uint32 dwChecksum32;
     313                uint32 dwOptions;
     314                uint32 aOptions[128];
     315        } spoolss_PSDRVEXTRA500;
     316
     317        /* Vista, 2008, 7 */
     318
     319        typedef struct {
     320                [value(SPOOLSS_DM_SIGNATURE_PSEXTRA)] spoolss_DM_Signature dwSignature;
     321                spoolss_DMPS_Flags dwFlags;
     322                uint32 wchEPSFile[12];
     323                [value(24)] uint16 caSize;
     324                uint16 caFlags;
     325                uint16 caIlluminantIndex;
     326                uint16 caRedGamma;
     327                uint16 caGreenGamma;
     328                uint16 caBlueGamma;
     329                uint16 caReferenceBlack;
     330                uint16 caReferenceWhite;
     331                uint16 caContrast;
     332                uint16 caBrightness;
     333                uint16 caColorfulness;
     334                uint16 caRedGreenTint;
     335                uint16 wCoreJTExpSize;
     336                [value(ndr_size_spoolss_PSDRVEXTRA(r, ndr->flags) + wCoreJTExpSize)] uint16 wCoreFullSize;
     337                uint32 fxScrFreq;
     338                uint32 fxScrAngle;
     339                spoolss_DMPS_Dialect iDialect;
     340                spoolss_DMPS_TTDLFmt iTTDLFmt;
     341                boolean32 bReversePrint;
     342                spoolss_DM_Layout iLayout;
     343                spoolss_DMPS_PSLevel iPSLevel;
     344                uint32 dwReserved2;
     345                uint16 wOEMExtra;
     346                [value(0x0010)] uint16 wVer;
     347                uint32 dwX;
     348                uint32 dwY;
     349                uint32 dwWidthOffset;
     350                uint32 dwHeightOffset;
     351                spoolss_DMPS_FeedDirection wFeedDirection;
     352                uint16 wCutSheet;
     353                uint32 dwReserved3[4];
     354                uint32 dwChecksum32;
     355                uint32 dwOptions;
     356                uint32 aOptions[128];
     357                spoolss_DM_NupDirection dwNupDirection;
     358                spoolss_DM_NupBorderFlags dwNupBorderFlags;
     359                spoolss_DM_BookletFlags dwBookletFlags;
     360                uint32 dwPadding;
     361        } spoolss_PSDRVEXTRA;
     362
     363        /* Device Mode Extra Data: UniDriver */
     364
     365        /* NT 3.5, NT 4.0 */
     366
     367        typedef struct {
     368                uint16 wReserved[56];
     369        } spoolss_UNIDRVEXTRA3_4;
     370
     371        /* 2000, XP */
     372
     373        typedef [v1_enum] enum {
     374                SPOOLSS_DM_UNI_QUALITY_BEST             = 0x00000000,
     375                SPOOLSS_DM_UNI_QUALITY_MEDIUM           = 0x00000001,
     376                SPOOLSS_DM_UNI_QUALITY_DRAFT            = 0x00000002
     377        } spoolss_DMUNI_Quality;
     378
     379        typedef [bitmap32bit] bitmap {
     380                SPOOLSS_DM_UNI_FLAGS_PRINT_TEXT_AS_GRAPHICS     = 0x00000002,
     381                SPOOLSS_DM_UNI_FLAGS_AVOID_EMFSPOOL             = 0x00000010,
     382                SPOOLSS_DM_UNI_FLAGS_CUSTOM_HALFTONING          = 0x00000080
     383        } spoolss_DMUNI_Flags;
     384
     385        typedef struct {
     386                [value(SPOOLSS_DM_SIGNATURE_UNIDRVEXTRA)] spoolss_DM_Signature dwSignature;
     387                [value(0x0022)] uint16 wVer;
     388                uint16 sPadding;
     389                uint16 wSize;
     390                uint16 wOEMExtra;
     391                uint32 dwChecksum32;
     392                spoolss_DMUNI_Flags dwFlags;
     393                boolean32 bReversePrint;
     394                spoolss_DM_Layout iLayout;
     395                spoolss_DMUNI_Quality iQuality;
     396                uint16 wReserved[6];
     397                uint32 dwOptions;
     398                uint32 aOptions[128];
     399        } spoolss_UNIDRVEXTRA500;
     400
     401        /* Vista, 2008, 7 */
     402
     403        typedef [public,gensize] struct {
     404                [value(SPOOLSS_DM_SIGNATURE_UNIDRVEXTRA)] spoolss_DM_Signature dwSignature;
     405                [value(0x0022)] uint16 wVer;
     406                uint16 wCoreJTExpSize;
     407                [value(ndr_size_spoolss_UNIDRVEXTRA(r, ndr->flags) + wCoreJTExpSize)] uint16 wCoreFullSize;
     408                uint16 wOEMExtra;
     409                uint32 dwChecksum32;
     410                spoolss_DMUNI_Flags dwFlags;
     411                boolean32 bReversePrint;
     412                spoolss_DM_Layout iLayout;
     413                spoolss_DMUNI_Quality iQuality;
     414                uint16 wReserved[6];
     415                uint32 dwOptions;
     416                uint32 aOptions[128];
     417                spoolss_DM_NupDirection dwNupDirection;
     418                spoolss_DM_NupBorderFlags dwNupBorderFlags;
     419                spoolss_DM_BookletFlags dwBookletFlags;
     420        } spoolss_UNIDRVEXTRA;
     421
     422        /* Device Mode Extra Data: JTEXP */
     423
     424        typedef struct {
     425                uint32 dwSize;
     426                [value(SPOOLSS_DM_SIGNATURE_JTEXP)] spoolss_DM_Signature dwSignature;
     427                [value(0)] uint32 dwVersion;
     428                [value(16)] uint32 wJTHdrSize;
     429                uint32 wCoreMFOSize;
     430                [string,charset(UTF16)] uint16 *ModelName;
     431                nstring_array FeatureOptionPairs;
     432        } spoolss_JTEXP;
     433
     434        /* Device Mode Extra Data: OEM_DMEXTRA */
     435
     436        typedef struct {
     437                uint32 dwSize;
     438                spoolss_DM_Signature dwSignature;
     439                uint32 dwVersion;
     440                [flag(NDR_REMAINING)] DATA_BLOB Data;
     441        } spoolss_OEM_DMEXTRA;
     442
     443        typedef [nodiscriminant] union {
     444                [case(0x0350)] spoolss_PSDRVEXTRA351    psdrvextra351;
     445                [case(0x0400)] spoolss_PSDRVEXTRA400    psdrvextra400;
     446                [case(0x0501)] spoolss_PSDRVEXTRA500    psdrvextra500;
     447                [case(0x0600)] spoolss_PSDRVEXTRA       psdrvextra;
     448                [default] [flag(NDR_REMAINING)] DATA_BLOB psblob;
     449        } spoolss_DeviceModeExtraDataPostScript;
     450
     451        typedef [nodiscriminant] union {
     452                [case(0x0301)] spoolss_UNIDRVEXTRA3_4   unidrvextra3_4;
     453                [case(0x0500)] spoolss_UNIDRVEXTRA500   unidrvextra500;
     454                [case(0x0600)] spoolss_UNIDRVEXTRA      unidrvextra;
     455                [default] [flag(NDR_REMAINING)] DATA_BLOB uniblob;
     456        } spoolss_DeviceModeExtraDataUniDriver;
    153457
    154458        typedef [bitmap32bit] bitmap {
     
    463767
    464768        typedef [public,gensize] struct {
    465                 spoolss_PrinterAttributes flags;
     769                spoolss_EnumPrinterFlags flags;
    466770                [relative] nstring *description;
    467771                [relative] nstring *name;
     
    581885        /* Function: 0x01 */
    582886        typedef struct {
    583                 [value(_ndr_size_spoolss_DeviceMode(devmode, ndr->iconv_convenience, ndr->flags))] uint32 _ndr_size;
     887                [value(_ndr_size_spoolss_DeviceMode(devmode, ndr->flags))] uint32 _ndr_size;
    584888                [subcontext(4),subcontext_size(_ndr_size)] spoolss_DeviceMode *devmode;
    585889        } spoolss_DevmodeContainer;
     
    8581162                uint32 total_pages;
    8591163                uint32 version;
    860                 uint32 free_build;
     1164                spoolss_Build free_build;
    8611165                uint32 spooling;
    8621166                uint32 max_spooling;
     
    8641168                uint32 num_error_out_of_paper;
    8651169                uint32 num_error_not_ready;
    866                 uint32 job_error;
     1170                spoolss_JobStatus job_error;
    8671171                uint32 number_of_processors;
    8681172                spoolss_ProcessorType processor_type;
     
    8701174                uint32 change_id;
    8711175                WERROR last_error;
    872                 uint32 status;
     1176                spoolss_PrinterStatus status;
    8731177                uint32 enumerate_network_printers;
    8741178                uint32 c_setprinter;
     
    9881292
    9891293        typedef [public] struct {
    990                 [value((ndr_size_spoolss_StringArray(r, ndr->iconv_convenience, ndr->flags)-4)/2)] uint32 _ndr_size;
     1294                [value((ndr_size_spoolss_StringArray(r, ndr->flags)-4)/2)] uint32 _ndr_size;
    9911295                /*[subcontext(0),subcontext_size(_ndr_size*2)]*/ nstring_array string;
    9921296        } spoolss_StringArray;
     
    10221326                [string,charset(UTF16)] uint16 *monitor_name;
    10231327                [string,charset(UTF16)] uint16 *default_datatype;
    1024                 [value(((ndr_size_spoolss_StringArray(dependent_files, ndr->iconv_convenience, ndr->flags)-4)/2))] uint32 _ndr_size_dependent_files;
     1328                [value(((ndr_size_spoolss_StringArray(dependent_files, ndr->flags)-4)/2))] uint32 _ndr_size_dependent_files;
    10251329                spoolss_StringArray *dependent_files;
    10261330        } spoolss_AddDriverInfo3;
     
    10361340                [string,charset(UTF16)] uint16 *monitor_name;
    10371341                [string,charset(UTF16)] uint16 *default_datatype;
    1038                 [value(((ndr_size_spoolss_StringArray(dependent_files, ndr->iconv_convenience, ndr->flags)-4)/2))] uint32 _ndr_size_dependent_files;
     1342                [value(((ndr_size_spoolss_StringArray(dependent_files, ndr->flags)-4)/2))] uint32 _ndr_size_dependent_files;
    10391343                spoolss_StringArray *dependent_files;
    1040                 [value(((ndr_size_spoolss_StringArray(previous_names, ndr->iconv_convenience, ndr->flags)-4)/2))] uint32 _ndr_size_previous_names;
     1344                [value(((ndr_size_spoolss_StringArray(previous_names, ndr->flags)-4)/2))] uint32 _ndr_size_previous_names;
    10411345                spoolss_StringArray *previous_names;
    10421346        } spoolss_AddDriverInfo4;
     
    10681372                [string,charset(UTF16)] uint16 *monitor_name;
    10691373                [string,charset(UTF16)] uint16 *default_datatype;
    1070                 [value(((ndr_size_spoolss_StringArray(dependent_files, ndr->iconv_convenience, ndr->flags)-4)/2))] uint32 _ndr_size_dependent_files;
     1374                [value(((ndr_size_spoolss_StringArray(dependent_files, ndr->flags)-4)/2))] uint32 _ndr_size_dependent_files;
    10711375                spoolss_StringArray *dependent_files;
    1072                 [value(((ndr_size_spoolss_StringArray(previous_names, ndr->iconv_convenience, ndr->flags)-4)/2))] uint32 _ndr_size_previous_names;
     1376                [value(((ndr_size_spoolss_StringArray(previous_names, ndr->flags)-4)/2))] uint32 _ndr_size_previous_names;
    10731377                spoolss_StringArray *previous_names;
    10741378                NTTIME driver_date;
     
    10901394                [string,charset(UTF16)] uint16 *monitor_name;
    10911395                [string,charset(UTF16)] uint16 *default_datatype;
    1092                 [value(((ndr_size_spoolss_StringArray(dependent_files, ndr->iconv_convenience, ndr->flags)-4)/2))] uint32 _ndr_size_dependent_files;
     1396                [value(((ndr_size_spoolss_StringArray(dependent_files, ndr->flags)-4)/2))] uint32 _ndr_size_dependent_files;
    10931397                spoolss_StringArray *dependent_files;
    1094                 [value(((ndr_size_spoolss_StringArray(previous_names, ndr->iconv_convenience, ndr->flags)-4)/2))] uint32 _ndr_size_previous_names;
     1398                [value(((ndr_size_spoolss_StringArray(previous_names, ndr->flags)-4)/2))] uint32 _ndr_size_previous_names;
    10951399                spoolss_StringArray *previous_names;
    10961400                NTTIME driver_date;
     
    11021406                [string,charset(UTF16)] uint16 *print_processor;
    11031407                [string,charset(UTF16)] uint16 *vendor_setup;
    1104                 [value(((ndr_size_spoolss_StringArray(color_profiles, ndr->iconv_convenience, ndr->flags)-4)/2))] uint32 _ndr_size_color_profiles;
     1408                [value(((ndr_size_spoolss_StringArray(color_profiles, ndr->flags)-4)/2))] uint32 _ndr_size_color_profiles;
    11051409                spoolss_StringArray *color_profiles;
    11061410                [string,charset(UTF16)] uint16 *inf_path;
    11071411                uint32 printer_driver_attributes;
    1108                 [value(((ndr_size_spoolss_StringArray(core_driver_dependencies, ndr->iconv_convenience, ndr->flags)-4)/2))] uint32 _ndr_size_core_driver_dependencies;
     1412                [value(((ndr_size_spoolss_StringArray(core_driver_dependencies, ndr->flags)-4)/2))] uint32 _ndr_size_core_driver_dependencies;
    11091413                spoolss_StringArray *core_driver_dependencies;
    11101414                NTTIME min_inbox_driver_ver_date;
     
    15231827
    15241828        typedef [public,gensize] struct {
    1525                 [value(ndr_size_spoolss_OSVersion(r,ndr->iconv_convenience,ndr->flags))] uint32 _ndr_size;
     1829                [value(ndr_size_spoolss_OSVersion(r,ndr->flags))] uint32 _ndr_size;
    15261830                uint32 major;
    15271831                uint32 minor;
     
    15321836
    15331837        typedef [public,gensize] struct {
    1534                 [value(ndr_size_spoolss_OSVersionEx(r,ndr->iconv_convenience,ndr->flags))] uint32 _ndr_size;
     1838                [value(ndr_size_spoolss_OSVersionEx(r,ndr->flags))] uint32 _ndr_size;
    15351839                uint32 major;
    15361840                uint32 minor;
     
    16221926        const string SPOOL_REG_VERSIONNUMBER            = "versionNumber";
    16231927
    1624         WERROR spoolss_GetPrinterData(
     1928        [public] WERROR spoolss_GetPrinterData(
    16251929                [in,ref] policy_handle *handle,
    16261930                [in]     [string,charset(UTF16)] uint16 value_name[],
     
    19302234        /******************/
    19312235        /* Function: 0x25 */
     2236
     2237        typedef [public,gensize] struct {
     2238                [string,charset(UTF16)] uint16 *port_name;
     2239        } spoolss_SetPortInfo1;
     2240
     2241        typedef [public,gensize] struct {
     2242                [string,charset(UTF16)] uint16 *port_name;
     2243                [string,charset(UTF16)] uint16 *monitor_name;
     2244                [string,charset(UTF16)] uint16 *description;
     2245                spoolss_PortType port_type;
     2246                uint32 reserved;
     2247        } spoolss_SetPortInfo2;
     2248
     2249        typedef [public,gensize] struct {
     2250                spoolss_PortStatus status;
     2251                [string,charset(UTF16)] uint16 *status_string;
     2252                spoolss_PortSeverity severity;
     2253        } spoolss_SetPortInfo3;
     2254
     2255        typedef [public,gensize] struct {
     2256                [string,charset(UTF16)] uint16 *port_name;
     2257                DATA_BLOB monitor_data; /* relative ?? */
     2258        } spoolss_SetPortInfoFF;
     2259
     2260        typedef [switch_type(uint32)] union {
     2261                [case(1)] spoolss_SetPortInfo1 *info1;
     2262                [case(2)] spoolss_SetPortInfo2 *info2;
     2263                [case(3)] spoolss_SetPortInfo3 *info3;
     2264                [case(0xff)] spoolss_SetPortInfoFF *infoFF;
     2265        } spoolss_SetPortInfo;
     2266
     2267        typedef struct {
     2268                uint32 level;
     2269                [switch_is(level)] spoolss_SetPrinterInfo info;
     2270        } spoolss_SetPortInfoContainer;
     2271
    19322272        WERROR spoolss_AddPort(
    19332273               [in,unique] [string,charset(UTF16)] uint16 *server_name,
     
    19432283        /******************/
    19442284        /* Function: 0x27 */
    1945         [todo] WERROR spoolss_DeletePort(
     2285        WERROR spoolss_DeletePort(
     2286               [in,unique] [string,charset(UTF16)] uint16 *server_name,
     2287               [in] uint32 ptr,
     2288               [in,ref] [string,charset(UTF16)] uint16 *port_name
    19462289        );
    19472290
     
    20552398        /******************/
    20562399        /* Function: 0x35 */
    2057         WERROR spoolss_GetPrinterDriver2(
     2400        [public] WERROR spoolss_GetPrinterDriver2(
    20582401                [in,ref] policy_handle *handle,
    20592402                [in,unique] [string,charset(UTF16)] uint16 *architecture,
     
    21672510        /******************/
    21682511        /* Function: 0x3d */
    2169         [todo] WERROR spoolss_AddPortEx(
     2512
     2513        typedef struct {
     2514                uint32 monitor_data_size;
     2515                [size_is(monitor_data_size),unique] uint8 *monitor_data;
     2516        } spoolss_PortVarContainer;
     2517
     2518        WERROR spoolss_AddPortEx(
     2519                [in,unique] [string,charset(UTF16)] uint16 *servername,
     2520                [in,ref] spoolss_SetPortInfoContainer *port_ctr,
     2521                [in,ref] spoolss_PortVarContainer *port_var_ctr,
     2522                [in,unique] [string,charset(UTF16)] uint16 *monitor_name
    21702523        );
    21712524
     
    24822835        /******************/
    24832836        /* Function: 0x47 */
    2484         [todo] WERROR spoolss_47(
     2837        WERROR spoolss_SetPort(
     2838                [in,unique] [string,charset(UTF16)] uint16 *servername,
     2839                [in,unique] [string,charset(UTF16)] uint16 *port_name,
     2840                [in,ref] spoolss_SetPortInfoContainer *port_ctr
    24852841        );
    24862842
     
    26312987        /******************/
    26322988        /* Function: 0x55 */
    2633         [todo] WERROR spoolss_55(
     2989        WERROR spoolss_AddPerMachineConnection(
     2990                [in,unique] [string,charset(UTF16)] uint16 *server,
     2991                [in,ref] [string,charset(UTF16)] uint16 *printername,
     2992                [in,ref] [string,charset(UTF16)] uint16 *printserver,
     2993                [in,ref] [string,charset(UTF16)] uint16 *provider
    26342994        );
    26352995
    26362996        /******************/
    26372997        /* Function: 0x56 */
    2638         [todo] WERROR spoolss_56(
     2998        WERROR spoolss_DeletePerMachineConnection(
     2999                [in,unique] [string,charset(UTF16)] uint16 *server,
     3000                [in,ref] [string,charset(UTF16)] uint16 *printername
    26393001        );
    26403002
    26413003        /******************/
    26423004        /* Function: 0x57 */
    2643         [todo] WERROR spoolss_57(
     3005        [todo] WERROR spoolss_EnumPerMachineConnections(
    26443006        );
    26453007
Note: See TracChangeset for help on using the changeset viewer.