~ubuntu-branches/ubuntu/oneiric/samba/oneiric-security

« back to all changes in this revision

Viewing changes to librpc/gen_ndr/ndr_spoolss.c

  • Committer: Bazaar Package Importer
  • Author(s): Chuck Short
  • Date: 2011-03-02 16:05:41 UTC
  • Revision ID: james.westby@ubuntu.com-20110302160541-oi1y7yhqn9qe2phs
Tags: 2:3.5.6~dfsg-5ubuntu3
* debian/patches/fix-windows7-print-connection.patch: Fix
  error "0x000003e6" when trying to connect a Windows 7 printer
  to a domain. (LP: #674216)
* debian/samba-common.dhcp: Take in account of the upstart script.
  (LP: #652065)

Show diffs side-by-side

added added

removed removed

Lines of Context:
44
44
        return NDR_ERR_SUCCESS;
45
45
}
46
46
 
47
 
_PUBLIC_ void ndr_print_spoolss_Time(struct ndr_print *ndr, const char *name, const struct spoolss_Time *r)
48
 
{
49
 
        ndr_print_struct(ndr, name, "spoolss_Time");
50
 
        ndr->depth++;
51
 
        ndr_print_uint16(ndr, "year", r->year);
52
 
        ndr_print_uint16(ndr, "month", r->month);
53
 
        ndr_print_uint16(ndr, "day_of_week", r->day_of_week);
54
 
        ndr_print_uint16(ndr, "day", r->day);
55
 
        ndr_print_uint16(ndr, "hour", r->hour);
56
 
        ndr_print_uint16(ndr, "minute", r->minute);
57
 
        ndr_print_uint16(ndr, "second", r->second);
58
 
        ndr_print_uint16(ndr, "millisecond", r->millisecond);
59
 
        ndr->depth--;
60
 
}
61
 
 
62
47
static size_t ndr_size_spoolss_Time(const struct spoolss_Time *r, struct smb_iconv_convenience *ic, int flags)
63
48
{
64
49
        return ndr_size_struct(r, flags, (ndr_push_flags_fn_t)ndr_push_spoolss_Time, ic);
314
299
                NDR_CHECK(ndr_push_align(ndr, 5));
315
300
                {
316
301
                        uint32_t _flags_save_string = ndr->flags;
317
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
302
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
318
303
                        NDR_CHECK(ndr_push_relative_ptr1(ndr, r->printername));
319
304
                        ndr->flags = _flags_save_string;
320
305
                }
321
306
                {
322
307
                        uint32_t _flags_save_string = ndr->flags;
323
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
308
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
324
309
                        NDR_CHECK(ndr_push_relative_ptr1(ndr, r->servername));
325
310
                        ndr->flags = _flags_save_string;
326
311
                }
356
341
        if (ndr_flags & NDR_BUFFERS) {
357
342
                {
358
343
                        uint32_t _flags_save_string = ndr->flags;
359
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
344
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
360
345
                        if (r->printername) {
361
346
                                NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->printername));
362
347
                                NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->printername));
366
351
                }
367
352
                {
368
353
                        uint32_t _flags_save_string = ndr->flags;
369
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
354
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
370
355
                        if (r->servername) {
371
356
                                NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->servername));
372
357
                                NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->servername));
388
373
                NDR_CHECK(ndr_pull_align(ndr, 5));
389
374
                {
390
375
                        uint32_t _flags_save_string = ndr->flags;
391
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
376
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
392
377
                        NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_printername));
393
378
                        if (_ptr_printername) {
394
379
                                NDR_PULL_ALLOC(ndr, r->printername);
400
385
                }
401
386
                {
402
387
                        uint32_t _flags_save_string = ndr->flags;
403
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
388
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
404
389
                        NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_servername));
405
390
                        if (_ptr_servername) {
406
391
                                NDR_PULL_ALLOC(ndr, r->servername);
442
427
        if (ndr_flags & NDR_BUFFERS) {
443
428
                {
444
429
                        uint32_t _flags_save_string = ndr->flags;
445
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
430
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
446
431
                        if (r->printername) {
447
432
                                uint32_t _relative_save_offset;
448
433
                                _relative_save_offset = ndr->offset;
457
442
                }
458
443
                {
459
444
                        uint32_t _flags_save_string = ndr->flags;
460
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
445
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
461
446
                        if (r->servername) {
462
447
                                uint32_t _relative_save_offset;
463
448
                                _relative_save_offset = ndr->offset;
1286
1271
                NDR_CHECK(ndr_push_spoolss_PrinterAttributes(ndr, NDR_SCALARS, r->flags));
1287
1272
                {
1288
1273
                        uint32_t _flags_save_string = ndr->flags;
1289
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
1274
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
1290
1275
                        NDR_CHECK(ndr_push_relative_ptr1(ndr, r->description));
1291
1276
                        ndr->flags = _flags_save_string;
1292
1277
                }
1293
1278
                {
1294
1279
                        uint32_t _flags_save_string = ndr->flags;
1295
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
1280
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
1296
1281
                        NDR_CHECK(ndr_push_relative_ptr1(ndr, r->name));
1297
1282
                        ndr->flags = _flags_save_string;
1298
1283
                }
1299
1284
                {
1300
1285
                        uint32_t _flags_save_string = ndr->flags;
1301
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
1286
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
1302
1287
                        NDR_CHECK(ndr_push_relative_ptr1(ndr, r->comment));
1303
1288
                        ndr->flags = _flags_save_string;
1304
1289
                }
1307
1292
        if (ndr_flags & NDR_BUFFERS) {
1308
1293
                {
1309
1294
                        uint32_t _flags_save_string = ndr->flags;
1310
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
1295
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
1311
1296
                        if (r->description) {
1312
1297
                                NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->description));
1313
1298
                                NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->description));
1317
1302
                }
1318
1303
                {
1319
1304
                        uint32_t _flags_save_string = ndr->flags;
1320
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
1305
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
1321
1306
                        if (r->name) {
1322
1307
                                NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->name));
1323
1308
                                NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->name));
1327
1312
                }
1328
1313
                {
1329
1314
                        uint32_t _flags_save_string = ndr->flags;
1330
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
1315
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
1331
1316
                        if (r->comment) {
1332
1317
                                NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->comment));
1333
1318
                                NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->comment));
1352
1337
                NDR_CHECK(ndr_pull_spoolss_PrinterAttributes(ndr, NDR_SCALARS, &r->flags));
1353
1338
                {
1354
1339
                        uint32_t _flags_save_string = ndr->flags;
1355
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
1340
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
1356
1341
                        NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_description));
1357
1342
                        if (_ptr_description) {
1358
1343
                                NDR_PULL_ALLOC(ndr, r->description);
1364
1349
                }
1365
1350
                {
1366
1351
                        uint32_t _flags_save_string = ndr->flags;
1367
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
1352
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
1368
1353
                        NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_name));
1369
1354
                        if (_ptr_name) {
1370
1355
                                NDR_PULL_ALLOC(ndr, r->name);
1376
1361
                }
1377
1362
                {
1378
1363
                        uint32_t _flags_save_string = ndr->flags;
1379
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
1364
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
1380
1365
                        NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_comment));
1381
1366
                        if (_ptr_comment) {
1382
1367
                                NDR_PULL_ALLOC(ndr, r->comment);
1391
1376
        if (ndr_flags & NDR_BUFFERS) {
1392
1377
                {
1393
1378
                        uint32_t _flags_save_string = ndr->flags;
1394
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
1379
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
1395
1380
                        if (r->description) {
1396
1381
                                uint32_t _relative_save_offset;
1397
1382
                                _relative_save_offset = ndr->offset;
1406
1391
                }
1407
1392
                {
1408
1393
                        uint32_t _flags_save_string = ndr->flags;
1409
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
1394
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
1410
1395
                        if (r->name) {
1411
1396
                                uint32_t _relative_save_offset;
1412
1397
                                _relative_save_offset = ndr->offset;
1421
1406
                }
1422
1407
                {
1423
1408
                        uint32_t _flags_save_string = ndr->flags;
1424
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
1409
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
1425
1410
                        if (r->comment) {
1426
1411
                                uint32_t _relative_save_offset;
1427
1412
                                _relative_save_offset = ndr->offset;
1501
1486
                NDR_CHECK(ndr_pull_align(ndr, 5));
1502
1487
                {
1503
1488
                        uint32_t _flags_save_string = ndr->flags;
1504
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
1489
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
1505
1490
                        NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_servername));
1506
1491
                        if (_ptr_servername) {
1507
1492
                                NDR_PULL_ALLOC(ndr, r->servername);
1513
1498
                }
1514
1499
                {
1515
1500
                        uint32_t _flags_save_string = ndr->flags;
1516
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
1501
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
1517
1502
                        NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_printername));
1518
1503
                        if (_ptr_printername) {
1519
1504
                                NDR_PULL_ALLOC(ndr, r->printername);
1525
1510
                }
1526
1511
                {
1527
1512
                        uint32_t _flags_save_string = ndr->flags;
1528
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
1513
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
1529
1514
                        NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sharename));
1530
1515
                        if (_ptr_sharename) {
1531
1516
                                NDR_PULL_ALLOC(ndr, r->sharename);
1537
1522
                }
1538
1523
                {
1539
1524
                        uint32_t _flags_save_string = ndr->flags;
1540
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
1525
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
1541
1526
                        NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_portname));
1542
1527
                        if (_ptr_portname) {
1543
1528
                                NDR_PULL_ALLOC(ndr, r->portname);
1549
1534
                }
1550
1535
                {
1551
1536
                        uint32_t _flags_save_string = ndr->flags;
1552
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
1537
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
1553
1538
                        NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_drivername));
1554
1539
                        if (_ptr_drivername) {
1555
1540
                                NDR_PULL_ALLOC(ndr, r->drivername);
1561
1546
                }
1562
1547
                {
1563
1548
                        uint32_t _flags_save_string = ndr->flags;
1564
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
1549
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
1565
1550
                        NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_comment));
1566
1551
                        if (_ptr_comment) {
1567
1552
                                NDR_PULL_ALLOC(ndr, r->comment);
1573
1558
                }
1574
1559
                {
1575
1560
                        uint32_t _flags_save_string = ndr->flags;
1576
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
1561
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
1577
1562
                        NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_location));
1578
1563
                        if (_ptr_location) {
1579
1564
                                NDR_PULL_ALLOC(ndr, r->location);
1597
1582
                }
1598
1583
                {
1599
1584
                        uint32_t _flags_save_string = ndr->flags;
1600
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
1585
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
1601
1586
                        NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sepfile));
1602
1587
                        if (_ptr_sepfile) {
1603
1588
                                NDR_PULL_ALLOC(ndr, r->sepfile);
1609
1594
                }
1610
1595
                {
1611
1596
                        uint32_t _flags_save_string = ndr->flags;
1612
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
1597
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
1613
1598
                        NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_printprocessor));
1614
1599
                        if (_ptr_printprocessor) {
1615
1600
                                NDR_PULL_ALLOC(ndr, r->printprocessor);
1621
1606
                }
1622
1607
                {
1623
1608
                        uint32_t _flags_save_string = ndr->flags;
1624
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
1609
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
1625
1610
                        NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_datatype));
1626
1611
                        if (_ptr_datatype) {
1627
1612
                                NDR_PULL_ALLOC(ndr, r->datatype);
1633
1618
                }
1634
1619
                {
1635
1620
                        uint32_t _flags_save_string = ndr->flags;
1636
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
1621
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
1637
1622
                        NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_parameters));
1638
1623
                        if (_ptr_parameters) {
1639
1624
                                NDR_PULL_ALLOC(ndr, r->parameters);
1671
1656
        if (ndr_flags & NDR_BUFFERS) {
1672
1657
                {
1673
1658
                        uint32_t _flags_save_string = ndr->flags;
1674
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
1659
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
1675
1660
                        if (r->servername) {
1676
1661
                                uint32_t _relative_save_offset;
1677
1662
                                _relative_save_offset = ndr->offset;
1686
1671
                }
1687
1672
                {
1688
1673
                        uint32_t _flags_save_string = ndr->flags;
1689
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
1674
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
1690
1675
                        if (r->printername) {
1691
1676
                                uint32_t _relative_save_offset;
1692
1677
                                _relative_save_offset = ndr->offset;
1701
1686
                }
1702
1687
                {
1703
1688
                        uint32_t _flags_save_string = ndr->flags;
1704
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
1689
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
1705
1690
                        if (r->sharename) {
1706
1691
                                uint32_t _relative_save_offset;
1707
1692
                                _relative_save_offset = ndr->offset;
1716
1701
                }
1717
1702
                {
1718
1703
                        uint32_t _flags_save_string = ndr->flags;
1719
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
1704
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
1720
1705
                        if (r->portname) {
1721
1706
                                uint32_t _relative_save_offset;
1722
1707
                                _relative_save_offset = ndr->offset;
1731
1716
                }
1732
1717
                {
1733
1718
                        uint32_t _flags_save_string = ndr->flags;
1734
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
1719
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
1735
1720
                        if (r->drivername) {
1736
1721
                                uint32_t _relative_save_offset;
1737
1722
                                _relative_save_offset = ndr->offset;
1746
1731
                }
1747
1732
                {
1748
1733
                        uint32_t _flags_save_string = ndr->flags;
1749
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
1734
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
1750
1735
                        if (r->comment) {
1751
1736
                                uint32_t _relative_save_offset;
1752
1737
                                _relative_save_offset = ndr->offset;
1761
1746
                }
1762
1747
                {
1763
1748
                        uint32_t _flags_save_string = ndr->flags;
1764
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
1749
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
1765
1750
                        if (r->location) {
1766
1751
                                uint32_t _relative_save_offset;
1767
1752
                                _relative_save_offset = ndr->offset;
1796
1781
                }
1797
1782
                {
1798
1783
                        uint32_t _flags_save_string = ndr->flags;
1799
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
1784
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
1800
1785
                        if (r->sepfile) {
1801
1786
                                uint32_t _relative_save_offset;
1802
1787
                                _relative_save_offset = ndr->offset;
1811
1796
                }
1812
1797
                {
1813
1798
                        uint32_t _flags_save_string = ndr->flags;
1814
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
1799
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
1815
1800
                        if (r->printprocessor) {
1816
1801
                                uint32_t _relative_save_offset;
1817
1802
                                _relative_save_offset = ndr->offset;
1826
1811
                }
1827
1812
                {
1828
1813
                        uint32_t _flags_save_string = ndr->flags;
1829
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
1814
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
1830
1815
                        if (r->datatype) {
1831
1816
                                uint32_t _relative_save_offset;
1832
1817
                                _relative_save_offset = ndr->offset;
1841
1826
                }
1842
1827
                {
1843
1828
                        uint32_t _flags_save_string = ndr->flags;
1844
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
1829
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
1845
1830
                        if (r->parameters) {
1846
1831
                                uint32_t _relative_save_offset;
1847
1832
                                _relative_save_offset = ndr->offset;
2077
2062
                NDR_CHECK(ndr_push_align(ndr, 5));
2078
2063
                {
2079
2064
                        uint32_t _flags_save_string = ndr->flags;
2080
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
2065
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
2081
2066
                        NDR_CHECK(ndr_push_relative_ptr1(ndr, r->printername));
2082
2067
                        ndr->flags = _flags_save_string;
2083
2068
                }
2084
2069
                {
2085
2070
                        uint32_t _flags_save_string = ndr->flags;
2086
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
2071
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
2087
2072
                        NDR_CHECK(ndr_push_relative_ptr1(ndr, r->servername));
2088
2073
                        ndr->flags = _flags_save_string;
2089
2074
                }
2093
2078
        if (ndr_flags & NDR_BUFFERS) {
2094
2079
                {
2095
2080
                        uint32_t _flags_save_string = ndr->flags;
2096
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
2081
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
2097
2082
                        if (r->printername) {
2098
2083
                                NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->printername));
2099
2084
                                NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->printername));
2103
2088
                }
2104
2089
                {
2105
2090
                        uint32_t _flags_save_string = ndr->flags;
2106
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
2091
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
2107
2092
                        if (r->servername) {
2108
2093
                                NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->servername));
2109
2094
                                NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->servername));
2125
2110
                NDR_CHECK(ndr_pull_align(ndr, 5));
2126
2111
                {
2127
2112
                        uint32_t _flags_save_string = ndr->flags;
2128
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
2113
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
2129
2114
                        NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_printername));
2130
2115
                        if (_ptr_printername) {
2131
2116
                                NDR_PULL_ALLOC(ndr, r->printername);
2137
2122
                }
2138
2123
                {
2139
2124
                        uint32_t _flags_save_string = ndr->flags;
2140
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
2125
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
2141
2126
                        NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_servername));
2142
2127
                        if (_ptr_servername) {
2143
2128
                                NDR_PULL_ALLOC(ndr, r->servername);
2153
2138
        if (ndr_flags & NDR_BUFFERS) {
2154
2139
                {
2155
2140
                        uint32_t _flags_save_string = ndr->flags;
2156
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
2141
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
2157
2142
                        if (r->printername) {
2158
2143
                                uint32_t _relative_save_offset;
2159
2144
                                _relative_save_offset = ndr->offset;
2168
2153
                }
2169
2154
                {
2170
2155
                        uint32_t _flags_save_string = ndr->flags;
2171
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
2156
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
2172
2157
                        if (r->servername) {
2173
2158
                                uint32_t _relative_save_offset;
2174
2159
                                _relative_save_offset = ndr->offset;
2216
2201
                NDR_CHECK(ndr_push_align(ndr, 5));
2217
2202
                {
2218
2203
                        uint32_t _flags_save_string = ndr->flags;
2219
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
2204
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
2220
2205
                        NDR_CHECK(ndr_push_relative_ptr1(ndr, r->printername));
2221
2206
                        ndr->flags = _flags_save_string;
2222
2207
                }
2223
2208
                {
2224
2209
                        uint32_t _flags_save_string = ndr->flags;
2225
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
2210
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
2226
2211
                        NDR_CHECK(ndr_push_relative_ptr1(ndr, r->portname));
2227
2212
                        ndr->flags = _flags_save_string;
2228
2213
                }
2234
2219
        if (ndr_flags & NDR_BUFFERS) {
2235
2220
                {
2236
2221
                        uint32_t _flags_save_string = ndr->flags;
2237
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
2222
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
2238
2223
                        if (r->printername) {
2239
2224
                                NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->printername));
2240
2225
                                NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->printername));
2244
2229
                }
2245
2230
                {
2246
2231
                        uint32_t _flags_save_string = ndr->flags;
2247
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
2232
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
2248
2233
                        if (r->portname) {
2249
2234
                                NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->portname));
2250
2235
                                NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->portname));
2266
2251
                NDR_CHECK(ndr_pull_align(ndr, 5));
2267
2252
                {
2268
2253
                        uint32_t _flags_save_string = ndr->flags;
2269
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
2254
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
2270
2255
                        NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_printername));
2271
2256
                        if (_ptr_printername) {
2272
2257
                                NDR_PULL_ALLOC(ndr, r->printername);
2278
2263
                }
2279
2264
                {
2280
2265
                        uint32_t _flags_save_string = ndr->flags;
2281
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
2266
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
2282
2267
                        NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_portname));
2283
2268
                        if (_ptr_portname) {
2284
2269
                                NDR_PULL_ALLOC(ndr, r->portname);
2296
2281
        if (ndr_flags & NDR_BUFFERS) {
2297
2282
                {
2298
2283
                        uint32_t _flags_save_string = ndr->flags;
2299
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
2284
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
2300
2285
                        if (r->printername) {
2301
2286
                                uint32_t _relative_save_offset;
2302
2287
                                _relative_save_offset = ndr->offset;
2311
2296
                }
2312
2297
                {
2313
2298
                        uint32_t _flags_save_string = ndr->flags;
2314
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
2299
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
2315
2300
                        if (r->portname) {
2316
2301
                                uint32_t _relative_save_offset;
2317
2302
                                _relative_save_offset = ndr->offset;
2424
2409
                NDR_CHECK(ndr_push_align(ndr, 5));
2425
2410
                {
2426
2411
                        uint32_t _flags_save_string = ndr->flags;
2427
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
2412
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
2428
2413
                        NDR_CHECK(ndr_push_relative_ptr1(ndr, r->guid));
2429
2414
                        ndr->flags = _flags_save_string;
2430
2415
                }
2434
2419
        if (ndr_flags & NDR_BUFFERS) {
2435
2420
                {
2436
2421
                        uint32_t _flags_save_string = ndr->flags;
2437
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
2422
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
2438
2423
                        if (r->guid) {
2439
2424
                                NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->guid));
2440
2425
                                NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->guid));
2454
2439
                NDR_CHECK(ndr_pull_align(ndr, 5));
2455
2440
                {
2456
2441
                        uint32_t _flags_save_string = ndr->flags;
2457
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
2442
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
2458
2443
                        NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_guid));
2459
2444
                        if (_ptr_guid) {
2460
2445
                                NDR_PULL_ALLOC(ndr, r->guid);
2470
2455
        if (ndr_flags & NDR_BUFFERS) {
2471
2456
                {
2472
2457
                        uint32_t _flags_save_string = ndr->flags;
2473
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
2458
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
2474
2459
                        if (r->guid) {
2475
2460
                                uint32_t _relative_save_offset;
2476
2461
                                _relative_save_offset = ndr->offset;
2990
2975
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->job_id));
2991
2976
                {
2992
2977
                        uint32_t _flags_save_string = ndr->flags;
2993
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
2978
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
2994
2979
                        NDR_CHECK(ndr_push_relative_ptr1(ndr, r->printer_name));
2995
2980
                        ndr->flags = _flags_save_string;
2996
2981
                }
2997
2982
                {
2998
2983
                        uint32_t _flags_save_string = ndr->flags;
2999
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
2984
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
3000
2985
                        NDR_CHECK(ndr_push_relative_ptr1(ndr, r->server_name));
3001
2986
                        ndr->flags = _flags_save_string;
3002
2987
                }
3003
2988
                {
3004
2989
                        uint32_t _flags_save_string = ndr->flags;
3005
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
2990
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
3006
2991
                        NDR_CHECK(ndr_push_relative_ptr1(ndr, r->user_name));
3007
2992
                        ndr->flags = _flags_save_string;
3008
2993
                }
3009
2994
                {
3010
2995
                        uint32_t _flags_save_string = ndr->flags;
3011
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
2996
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
3012
2997
                        NDR_CHECK(ndr_push_relative_ptr1(ndr, r->document_name));
3013
2998
                        ndr->flags = _flags_save_string;
3014
2999
                }
3015
3000
                {
3016
3001
                        uint32_t _flags_save_string = ndr->flags;
3017
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
3002
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
3018
3003
                        NDR_CHECK(ndr_push_relative_ptr1(ndr, r->data_type));
3019
3004
                        ndr->flags = _flags_save_string;
3020
3005
                }
3021
3006
                {
3022
3007
                        uint32_t _flags_save_string = ndr->flags;
3023
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
3008
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
3024
3009
                        NDR_CHECK(ndr_push_relative_ptr1(ndr, r->text_status));
3025
3010
                        ndr->flags = _flags_save_string;
3026
3011
                }
3035
3020
        if (ndr_flags & NDR_BUFFERS) {
3036
3021
                {
3037
3022
                        uint32_t _flags_save_string = ndr->flags;
3038
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
3023
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
3039
3024
                        if (r->printer_name) {
3040
3025
                                NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->printer_name));
3041
3026
                                NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->printer_name));
3045
3030
                }
3046
3031
                {
3047
3032
                        uint32_t _flags_save_string = ndr->flags;
3048
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
3033
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
3049
3034
                        if (r->server_name) {
3050
3035
                                NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->server_name));
3051
3036
                                NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->server_name));
3055
3040
                }
3056
3041
                {
3057
3042
                        uint32_t _flags_save_string = ndr->flags;
3058
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
3043
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
3059
3044
                        if (r->user_name) {
3060
3045
                                NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->user_name));
3061
3046
                                NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->user_name));
3065
3050
                }
3066
3051
                {
3067
3052
                        uint32_t _flags_save_string = ndr->flags;
3068
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
3053
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
3069
3054
                        if (r->document_name) {
3070
3055
                                NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->document_name));
3071
3056
                                NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->document_name));
3075
3060
                }
3076
3061
                {
3077
3062
                        uint32_t _flags_save_string = ndr->flags;
3078
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
3063
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
3079
3064
                        if (r->data_type) {
3080
3065
                                NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->data_type));
3081
3066
                                NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->data_type));
3085
3070
                }
3086
3071
                {
3087
3072
                        uint32_t _flags_save_string = ndr->flags;
3088
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
3073
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
3089
3074
                        if (r->text_status) {
3090
3075
                                NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->text_status));
3091
3076
                                NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->text_status));
3116
3101
                NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->job_id));
3117
3102
                {
3118
3103
                        uint32_t _flags_save_string = ndr->flags;
3119
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
3104
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
3120
3105
                        NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_printer_name));
3121
3106
                        if (_ptr_printer_name) {
3122
3107
                                NDR_PULL_ALLOC(ndr, r->printer_name);
3128
3113
                }
3129
3114
                {
3130
3115
                        uint32_t _flags_save_string = ndr->flags;
3131
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
3116
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
3132
3117
                        NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
3133
3118
                        if (_ptr_server_name) {
3134
3119
                                NDR_PULL_ALLOC(ndr, r->server_name);
3140
3125
                }
3141
3126
                {
3142
3127
                        uint32_t _flags_save_string = ndr->flags;
3143
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
3128
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
3144
3129
                        NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_user_name));
3145
3130
                        if (_ptr_user_name) {
3146
3131
                                NDR_PULL_ALLOC(ndr, r->user_name);
3152
3137
                }
3153
3138
                {
3154
3139
                        uint32_t _flags_save_string = ndr->flags;
3155
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
3140
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
3156
3141
                        NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_document_name));
3157
3142
                        if (_ptr_document_name) {
3158
3143
                                NDR_PULL_ALLOC(ndr, r->document_name);
3164
3149
                }
3165
3150
                {
3166
3151
                        uint32_t _flags_save_string = ndr->flags;
3167
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
3152
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
3168
3153
                        NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_data_type));
3169
3154
                        if (_ptr_data_type) {
3170
3155
                                NDR_PULL_ALLOC(ndr, r->data_type);
3176
3161
                }
3177
3162
                {
3178
3163
                        uint32_t _flags_save_string = ndr->flags;
3179
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
3164
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
3180
3165
                        NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_text_status));
3181
3166
                        if (_ptr_text_status) {
3182
3167
                                NDR_PULL_ALLOC(ndr, r->text_status);
3200
3185
        if (ndr_flags & NDR_BUFFERS) {
3201
3186
                {
3202
3187
                        uint32_t _flags_save_string = ndr->flags;
3203
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
3188
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
3204
3189
                        if (r->printer_name) {
3205
3190
                                uint32_t _relative_save_offset;
3206
3191
                                _relative_save_offset = ndr->offset;
3215
3200
                }
3216
3201
                {
3217
3202
                        uint32_t _flags_save_string = ndr->flags;
3218
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
3203
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
3219
3204
                        if (r->server_name) {
3220
3205
                                uint32_t _relative_save_offset;
3221
3206
                                _relative_save_offset = ndr->offset;
3230
3215
                }
3231
3216
                {
3232
3217
                        uint32_t _flags_save_string = ndr->flags;
3233
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
3218
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
3234
3219
                        if (r->user_name) {
3235
3220
                                uint32_t _relative_save_offset;
3236
3221
                                _relative_save_offset = ndr->offset;
3245
3230
                }
3246
3231
                {
3247
3232
                        uint32_t _flags_save_string = ndr->flags;
3248
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
3233
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
3249
3234
                        if (r->document_name) {
3250
3235
                                uint32_t _relative_save_offset;
3251
3236
                                _relative_save_offset = ndr->offset;
3260
3245
                }
3261
3246
                {
3262
3247
                        uint32_t _flags_save_string = ndr->flags;
3263
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
3248
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
3264
3249
                        if (r->data_type) {
3265
3250
                                uint32_t _relative_save_offset;
3266
3251
                                _relative_save_offset = ndr->offset;
3275
3260
                }
3276
3261
                {
3277
3262
                        uint32_t _flags_save_string = ndr->flags;
3278
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
3263
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
3279
3264
                        if (r->text_status) {
3280
3265
                                uint32_t _relative_save_offset;
3281
3266
                                _relative_save_offset = ndr->offset;
3354
3339
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->job_id));
3355
3340
                {
3356
3341
                        uint32_t _flags_save_string = ndr->flags;
3357
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
3342
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
3358
3343
                        NDR_CHECK(ndr_push_relative_ptr1(ndr, r->printer_name));
3359
3344
                        ndr->flags = _flags_save_string;
3360
3345
                }
3361
3346
                {
3362
3347
                        uint32_t _flags_save_string = ndr->flags;
3363
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
3348
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
3364
3349
                        NDR_CHECK(ndr_push_relative_ptr1(ndr, r->server_name));
3365
3350
                        ndr->flags = _flags_save_string;
3366
3351
                }
3367
3352
                {
3368
3353
                        uint32_t _flags_save_string = ndr->flags;
3369
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
3354
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
3370
3355
                        NDR_CHECK(ndr_push_relative_ptr1(ndr, r->user_name));
3371
3356
                        ndr->flags = _flags_save_string;
3372
3357
                }
3373
3358
                {
3374
3359
                        uint32_t _flags_save_string = ndr->flags;
3375
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
3360
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
3376
3361
                        NDR_CHECK(ndr_push_relative_ptr1(ndr, r->document_name));
3377
3362
                        ndr->flags = _flags_save_string;
3378
3363
                }
3379
3364
                {
3380
3365
                        uint32_t _flags_save_string = ndr->flags;
3381
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
3366
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
3382
3367
                        NDR_CHECK(ndr_push_relative_ptr1(ndr, r->notify_name));
3383
3368
                        ndr->flags = _flags_save_string;
3384
3369
                }
3385
3370
                {
3386
3371
                        uint32_t _flags_save_string = ndr->flags;
3387
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
3372
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
3388
3373
                        NDR_CHECK(ndr_push_relative_ptr1(ndr, r->data_type));
3389
3374
                        ndr->flags = _flags_save_string;
3390
3375
                }
3391
3376
                {
3392
3377
                        uint32_t _flags_save_string = ndr->flags;
3393
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
3378
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
3394
3379
                        NDR_CHECK(ndr_push_relative_ptr1(ndr, r->print_processor));
3395
3380
                        ndr->flags = _flags_save_string;
3396
3381
                }
3397
3382
                {
3398
3383
                        uint32_t _flags_save_string = ndr->flags;
3399
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
3384
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
3400
3385
                        NDR_CHECK(ndr_push_relative_ptr1(ndr, r->parameters));
3401
3386
                        ndr->flags = _flags_save_string;
3402
3387
                }
3403
3388
                {
3404
3389
                        uint32_t _flags_save_string = ndr->flags;
3405
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
3390
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
3406
3391
                        NDR_CHECK(ndr_push_relative_ptr1(ndr, r->driver_name));
3407
3392
                        ndr->flags = _flags_save_string;
3408
3393
                }
3414
3399
                }
3415
3400
                {
3416
3401
                        uint32_t _flags_save_string = ndr->flags;
3417
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
3402
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
3418
3403
                        NDR_CHECK(ndr_push_relative_ptr1(ndr, r->text_status));
3419
3404
                        ndr->flags = _flags_save_string;
3420
3405
                }
3439
3424
        if (ndr_flags & NDR_BUFFERS) {
3440
3425
                {
3441
3426
                        uint32_t _flags_save_string = ndr->flags;
3442
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
3427
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
3443
3428
                        if (r->printer_name) {
3444
3429
                                NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->printer_name));
3445
3430
                                NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->printer_name));
3449
3434
                }
3450
3435
                {
3451
3436
                        uint32_t _flags_save_string = ndr->flags;
3452
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
3437
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
3453
3438
                        if (r->server_name) {
3454
3439
                                NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->server_name));
3455
3440
                                NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->server_name));
3459
3444
                }
3460
3445
                {
3461
3446
                        uint32_t _flags_save_string = ndr->flags;
3462
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
3447
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
3463
3448
                        if (r->user_name) {
3464
3449
                                NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->user_name));
3465
3450
                                NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->user_name));
3469
3454
                }
3470
3455
                {
3471
3456
                        uint32_t _flags_save_string = ndr->flags;
3472
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
3457
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
3473
3458
                        if (r->document_name) {
3474
3459
                                NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->document_name));
3475
3460
                                NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->document_name));
3479
3464
                }
3480
3465
                {
3481
3466
                        uint32_t _flags_save_string = ndr->flags;
3482
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
3467
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
3483
3468
                        if (r->notify_name) {
3484
3469
                                NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->notify_name));
3485
3470
                                NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->notify_name));
3489
3474
                }
3490
3475
                {
3491
3476
                        uint32_t _flags_save_string = ndr->flags;
3492
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
3477
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
3493
3478
                        if (r->data_type) {
3494
3479
                                NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->data_type));
3495
3480
                                NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->data_type));
3499
3484
                }
3500
3485
                {
3501
3486
                        uint32_t _flags_save_string = ndr->flags;
3502
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
3487
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
3503
3488
                        if (r->print_processor) {
3504
3489
                                NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->print_processor));
3505
3490
                                NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->print_processor));
3509
3494
                }
3510
3495
                {
3511
3496
                        uint32_t _flags_save_string = ndr->flags;
3512
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
3497
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
3513
3498
                        if (r->parameters) {
3514
3499
                                NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->parameters));
3515
3500
                                NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->parameters));
3519
3504
                }
3520
3505
                {
3521
3506
                        uint32_t _flags_save_string = ndr->flags;
3522
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
3507
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
3523
3508
                        if (r->driver_name) {
3524
3509
                                NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->driver_name));
3525
3510
                                NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->driver_name));
3544
3529
                }
3545
3530
                {
3546
3531
                        uint32_t _flags_save_string = ndr->flags;
3547
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
3532
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
3548
3533
                        if (r->text_status) {
3549
3534
                                NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->text_status));
3550
3535
                                NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->text_status));
3602
3587
                NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->job_id));
3603
3588
                {
3604
3589
                        uint32_t _flags_save_string = ndr->flags;
3605
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
3590
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
3606
3591
                        NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_printer_name));
3607
3592
                        if (_ptr_printer_name) {
3608
3593
                                NDR_PULL_ALLOC(ndr, r->printer_name);
3614
3599
                }
3615
3600
                {
3616
3601
                        uint32_t _flags_save_string = ndr->flags;
3617
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
3602
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
3618
3603
                        NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
3619
3604
                        if (_ptr_server_name) {
3620
3605
                                NDR_PULL_ALLOC(ndr, r->server_name);
3626
3611
                }
3627
3612
                {
3628
3613
                        uint32_t _flags_save_string = ndr->flags;
3629
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
3614
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
3630
3615
                        NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_user_name));
3631
3616
                        if (_ptr_user_name) {
3632
3617
                                NDR_PULL_ALLOC(ndr, r->user_name);
3638
3623
                }
3639
3624
                {
3640
3625
                        uint32_t _flags_save_string = ndr->flags;
3641
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
3626
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
3642
3627
                        NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_document_name));
3643
3628
                        if (_ptr_document_name) {
3644
3629
                                NDR_PULL_ALLOC(ndr, r->document_name);
3650
3635
                }
3651
3636
                {
3652
3637
                        uint32_t _flags_save_string = ndr->flags;
3653
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
3638
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
3654
3639
                        NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_notify_name));
3655
3640
                        if (_ptr_notify_name) {
3656
3641
                                NDR_PULL_ALLOC(ndr, r->notify_name);
3662
3647
                }
3663
3648
                {
3664
3649
                        uint32_t _flags_save_string = ndr->flags;
3665
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
3650
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
3666
3651
                        NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_data_type));
3667
3652
                        if (_ptr_data_type) {
3668
3653
                                NDR_PULL_ALLOC(ndr, r->data_type);
3674
3659
                }
3675
3660
                {
3676
3661
                        uint32_t _flags_save_string = ndr->flags;
3677
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
3662
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
3678
3663
                        NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_print_processor));
3679
3664
                        if (_ptr_print_processor) {
3680
3665
                                NDR_PULL_ALLOC(ndr, r->print_processor);
3686
3671
                }
3687
3672
                {
3688
3673
                        uint32_t _flags_save_string = ndr->flags;
3689
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
3674
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
3690
3675
                        NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_parameters));
3691
3676
                        if (_ptr_parameters) {
3692
3677
                                NDR_PULL_ALLOC(ndr, r->parameters);
3698
3683
                }
3699
3684
                {
3700
3685
                        uint32_t _flags_save_string = ndr->flags;
3701
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
3686
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
3702
3687
                        NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_driver_name));
3703
3688
                        if (_ptr_driver_name) {
3704
3689
                                NDR_PULL_ALLOC(ndr, r->driver_name);
3722
3707
                }
3723
3708
                {
3724
3709
                        uint32_t _flags_save_string = ndr->flags;
3725
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
3710
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
3726
3711
                        NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_text_status));
3727
3712
                        if (_ptr_text_status) {
3728
3713
                                NDR_PULL_ALLOC(ndr, r->text_status);
3762
3747
        if (ndr_flags & NDR_BUFFERS) {
3763
3748
                {
3764
3749
                        uint32_t _flags_save_string = ndr->flags;
3765
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
3750
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
3766
3751
                        if (r->printer_name) {
3767
3752
                                uint32_t _relative_save_offset;
3768
3753
                                _relative_save_offset = ndr->offset;
3777
3762
                }
3778
3763
                {
3779
3764
                        uint32_t _flags_save_string = ndr->flags;
3780
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
3765
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
3781
3766
                        if (r->server_name) {
3782
3767
                                uint32_t _relative_save_offset;
3783
3768
                                _relative_save_offset = ndr->offset;
3792
3777
                }
3793
3778
                {
3794
3779
                        uint32_t _flags_save_string = ndr->flags;
3795
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
3780
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
3796
3781
                        if (r->user_name) {
3797
3782
                                uint32_t _relative_save_offset;
3798
3783
                                _relative_save_offset = ndr->offset;
3807
3792
                }
3808
3793
                {
3809
3794
                        uint32_t _flags_save_string = ndr->flags;
3810
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
3795
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
3811
3796
                        if (r->document_name) {
3812
3797
                                uint32_t _relative_save_offset;
3813
3798
                                _relative_save_offset = ndr->offset;
3822
3807
                }
3823
3808
                {
3824
3809
                        uint32_t _flags_save_string = ndr->flags;
3825
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
3810
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
3826
3811
                        if (r->notify_name) {
3827
3812
                                uint32_t _relative_save_offset;
3828
3813
                                _relative_save_offset = ndr->offset;
3837
3822
                }
3838
3823
                {
3839
3824
                        uint32_t _flags_save_string = ndr->flags;
3840
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
3825
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
3841
3826
                        if (r->data_type) {
3842
3827
                                uint32_t _relative_save_offset;
3843
3828
                                _relative_save_offset = ndr->offset;
3852
3837
                }
3853
3838
                {
3854
3839
                        uint32_t _flags_save_string = ndr->flags;
3855
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
3840
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
3856
3841
                        if (r->print_processor) {
3857
3842
                                uint32_t _relative_save_offset;
3858
3843
                                _relative_save_offset = ndr->offset;
3867
3852
                }
3868
3853
                {
3869
3854
                        uint32_t _flags_save_string = ndr->flags;
3870
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
3855
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
3871
3856
                        if (r->parameters) {
3872
3857
                                uint32_t _relative_save_offset;
3873
3858
                                _relative_save_offset = ndr->offset;
3882
3867
                }
3883
3868
                {
3884
3869
                        uint32_t _flags_save_string = ndr->flags;
3885
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
3870
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
3886
3871
                        if (r->driver_name) {
3887
3872
                                uint32_t _relative_save_offset;
3888
3873
                                _relative_save_offset = ndr->offset;
3917
3902
                }
3918
3903
                {
3919
3904
                        uint32_t _flags_save_string = ndr->flags;
3920
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
3905
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
3921
3906
                        if (r->text_status) {
3922
3907
                                uint32_t _relative_save_offset;
3923
3908
                                _relative_save_offset = ndr->offset;
4099
4084
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->job_id));
4100
4085
                {
4101
4086
                        uint32_t _flags_save_string = ndr->flags;
4102
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
4087
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
4103
4088
                        NDR_CHECK(ndr_push_relative_ptr1(ndr, r->printer_name));
4104
4089
                        ndr->flags = _flags_save_string;
4105
4090
                }
4106
4091
                {
4107
4092
                        uint32_t _flags_save_string = ndr->flags;
4108
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
4093
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
4109
4094
                        NDR_CHECK(ndr_push_relative_ptr1(ndr, r->server_name));
4110
4095
                        ndr->flags = _flags_save_string;
4111
4096
                }
4112
4097
                {
4113
4098
                        uint32_t _flags_save_string = ndr->flags;
4114
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
4099
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
4115
4100
                        NDR_CHECK(ndr_push_relative_ptr1(ndr, r->user_name));
4116
4101
                        ndr->flags = _flags_save_string;
4117
4102
                }
4118
4103
                {
4119
4104
                        uint32_t _flags_save_string = ndr->flags;
4120
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
4105
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
4121
4106
                        NDR_CHECK(ndr_push_relative_ptr1(ndr, r->document_name));
4122
4107
                        ndr->flags = _flags_save_string;
4123
4108
                }
4124
4109
                {
4125
4110
                        uint32_t _flags_save_string = ndr->flags;
4126
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
4111
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
4127
4112
                        NDR_CHECK(ndr_push_relative_ptr1(ndr, r->notify_name));
4128
4113
                        ndr->flags = _flags_save_string;
4129
4114
                }
4130
4115
                {
4131
4116
                        uint32_t _flags_save_string = ndr->flags;
4132
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
4117
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
4133
4118
                        NDR_CHECK(ndr_push_relative_ptr1(ndr, r->data_type));
4134
4119
                        ndr->flags = _flags_save_string;
4135
4120
                }
4136
4121
                {
4137
4122
                        uint32_t _flags_save_string = ndr->flags;
4138
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
4123
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
4139
4124
                        NDR_CHECK(ndr_push_relative_ptr1(ndr, r->print_processor));
4140
4125
                        ndr->flags = _flags_save_string;
4141
4126
                }
4142
4127
                {
4143
4128
                        uint32_t _flags_save_string = ndr->flags;
4144
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
4129
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
4145
4130
                        NDR_CHECK(ndr_push_relative_ptr1(ndr, r->parameters));
4146
4131
                        ndr->flags = _flags_save_string;
4147
4132
                }
4148
4133
                {
4149
4134
                        uint32_t _flags_save_string = ndr->flags;
4150
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
4135
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
4151
4136
                        NDR_CHECK(ndr_push_relative_ptr1(ndr, r->driver_name));
4152
4137
                        ndr->flags = _flags_save_string;
4153
4138
                }
4159
4144
                }
4160
4145
                {
4161
4146
                        uint32_t _flags_save_string = ndr->flags;
4162
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
4147
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
4163
4148
                        NDR_CHECK(ndr_push_relative_ptr1(ndr, r->text_status));
4164
4149
                        ndr->flags = _flags_save_string;
4165
4150
                }
4185
4170
        if (ndr_flags & NDR_BUFFERS) {
4186
4171
                {
4187
4172
                        uint32_t _flags_save_string = ndr->flags;
4188
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
4173
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
4189
4174
                        if (r->printer_name) {
4190
4175
                                NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->printer_name));
4191
4176
                                NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->printer_name));
4195
4180
                }
4196
4181
                {
4197
4182
                        uint32_t _flags_save_string = ndr->flags;
4198
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
4183
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
4199
4184
                        if (r->server_name) {
4200
4185
                                NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->server_name));
4201
4186
                                NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->server_name));
4205
4190
                }
4206
4191
                {
4207
4192
                        uint32_t _flags_save_string = ndr->flags;
4208
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
4193
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
4209
4194
                        if (r->user_name) {
4210
4195
                                NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->user_name));
4211
4196
                                NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->user_name));
4215
4200
                }
4216
4201
                {
4217
4202
                        uint32_t _flags_save_string = ndr->flags;
4218
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
4203
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
4219
4204
                        if (r->document_name) {
4220
4205
                                NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->document_name));
4221
4206
                                NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->document_name));
4225
4210
                }
4226
4211
                {
4227
4212
                        uint32_t _flags_save_string = ndr->flags;
4228
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
4213
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
4229
4214
                        if (r->notify_name) {
4230
4215
                                NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->notify_name));
4231
4216
                                NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->notify_name));
4235
4220
                }
4236
4221
                {
4237
4222
                        uint32_t _flags_save_string = ndr->flags;
4238
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
4223
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
4239
4224
                        if (r->data_type) {
4240
4225
                                NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->data_type));
4241
4226
                                NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->data_type));
4245
4230
                }
4246
4231
                {
4247
4232
                        uint32_t _flags_save_string = ndr->flags;
4248
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
4233
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
4249
4234
                        if (r->print_processor) {
4250
4235
                                NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->print_processor));
4251
4236
                                NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->print_processor));
4255
4240
                }
4256
4241
                {
4257
4242
                        uint32_t _flags_save_string = ndr->flags;
4258
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
4243
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
4259
4244
                        if (r->parameters) {
4260
4245
                                NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->parameters));
4261
4246
                                NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->parameters));
4265
4250
                }
4266
4251
                {
4267
4252
                        uint32_t _flags_save_string = ndr->flags;
4268
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
4253
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
4269
4254
                        if (r->driver_name) {
4270
4255
                                NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->driver_name));
4271
4256
                                NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->driver_name));
4290
4275
                }
4291
4276
                {
4292
4277
                        uint32_t _flags_save_string = ndr->flags;
4293
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
4278
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
4294
4279
                        if (r->text_status) {
4295
4280
                                NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->text_status));
4296
4281
                                NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->text_status));
4348
4333
                NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->job_id));
4349
4334
                {
4350
4335
                        uint32_t _flags_save_string = ndr->flags;
4351
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
4336
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
4352
4337
                        NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_printer_name));
4353
4338
                        if (_ptr_printer_name) {
4354
4339
                                NDR_PULL_ALLOC(ndr, r->printer_name);
4360
4345
                }
4361
4346
                {
4362
4347
                        uint32_t _flags_save_string = ndr->flags;
4363
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
4348
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
4364
4349
                        NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_server_name));
4365
4350
                        if (_ptr_server_name) {
4366
4351
                                NDR_PULL_ALLOC(ndr, r->server_name);
4372
4357
                }
4373
4358
                {
4374
4359
                        uint32_t _flags_save_string = ndr->flags;
4375
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
4360
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
4376
4361
                        NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_user_name));
4377
4362
                        if (_ptr_user_name) {
4378
4363
                                NDR_PULL_ALLOC(ndr, r->user_name);
4384
4369
                }
4385
4370
                {
4386
4371
                        uint32_t _flags_save_string = ndr->flags;
4387
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
4372
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
4388
4373
                        NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_document_name));
4389
4374
                        if (_ptr_document_name) {
4390
4375
                                NDR_PULL_ALLOC(ndr, r->document_name);
4396
4381
                }
4397
4382
                {
4398
4383
                        uint32_t _flags_save_string = ndr->flags;
4399
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
4384
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
4400
4385
                        NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_notify_name));
4401
4386
                        if (_ptr_notify_name) {
4402
4387
                                NDR_PULL_ALLOC(ndr, r->notify_name);
4408
4393
                }
4409
4394
                {
4410
4395
                        uint32_t _flags_save_string = ndr->flags;
4411
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
4396
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
4412
4397
                        NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_data_type));
4413
4398
                        if (_ptr_data_type) {
4414
4399
                                NDR_PULL_ALLOC(ndr, r->data_type);
4420
4405
                }
4421
4406
                {
4422
4407
                        uint32_t _flags_save_string = ndr->flags;
4423
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
4408
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
4424
4409
                        NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_print_processor));
4425
4410
                        if (_ptr_print_processor) {
4426
4411
                                NDR_PULL_ALLOC(ndr, r->print_processor);
4432
4417
                }
4433
4418
                {
4434
4419
                        uint32_t _flags_save_string = ndr->flags;
4435
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
4420
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
4436
4421
                        NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_parameters));
4437
4422
                        if (_ptr_parameters) {
4438
4423
                                NDR_PULL_ALLOC(ndr, r->parameters);
4444
4429
                }
4445
4430
                {
4446
4431
                        uint32_t _flags_save_string = ndr->flags;
4447
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
4432
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
4448
4433
                        NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_driver_name));
4449
4434
                        if (_ptr_driver_name) {
4450
4435
                                NDR_PULL_ALLOC(ndr, r->driver_name);
4468
4453
                }
4469
4454
                {
4470
4455
                        uint32_t _flags_save_string = ndr->flags;
4471
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
4456
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
4472
4457
                        NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_text_status));
4473
4458
                        if (_ptr_text_status) {
4474
4459
                                NDR_PULL_ALLOC(ndr, r->text_status);
4509
4494
        if (ndr_flags & NDR_BUFFERS) {
4510
4495
                {
4511
4496
                        uint32_t _flags_save_string = ndr->flags;
4512
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
4497
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
4513
4498
                        if (r->printer_name) {
4514
4499
                                uint32_t _relative_save_offset;
4515
4500
                                _relative_save_offset = ndr->offset;
4524
4509
                }
4525
4510
                {
4526
4511
                        uint32_t _flags_save_string = ndr->flags;
4527
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
4512
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
4528
4513
                        if (r->server_name) {
4529
4514
                                uint32_t _relative_save_offset;
4530
4515
                                _relative_save_offset = ndr->offset;
4539
4524
                }
4540
4525
                {
4541
4526
                        uint32_t _flags_save_string = ndr->flags;
4542
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
4527
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
4543
4528
                        if (r->user_name) {
4544
4529
                                uint32_t _relative_save_offset;
4545
4530
                                _relative_save_offset = ndr->offset;
4554
4539
                }
4555
4540
                {
4556
4541
                        uint32_t _flags_save_string = ndr->flags;
4557
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
4542
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
4558
4543
                        if (r->document_name) {
4559
4544
                                uint32_t _relative_save_offset;
4560
4545
                                _relative_save_offset = ndr->offset;
4569
4554
                }
4570
4555
                {
4571
4556
                        uint32_t _flags_save_string = ndr->flags;
4572
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
4557
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
4573
4558
                        if (r->notify_name) {
4574
4559
                                uint32_t _relative_save_offset;
4575
4560
                                _relative_save_offset = ndr->offset;
4584
4569
                }
4585
4570
                {
4586
4571
                        uint32_t _flags_save_string = ndr->flags;
4587
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
4572
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
4588
4573
                        if (r->data_type) {
4589
4574
                                uint32_t _relative_save_offset;
4590
4575
                                _relative_save_offset = ndr->offset;
4599
4584
                }
4600
4585
                {
4601
4586
                        uint32_t _flags_save_string = ndr->flags;
4602
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
4587
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
4603
4588
                        if (r->print_processor) {
4604
4589
                                uint32_t _relative_save_offset;
4605
4590
                                _relative_save_offset = ndr->offset;
4614
4599
                }
4615
4600
                {
4616
4601
                        uint32_t _flags_save_string = ndr->flags;
4617
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
4602
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
4618
4603
                        if (r->parameters) {
4619
4604
                                uint32_t _relative_save_offset;
4620
4605
                                _relative_save_offset = ndr->offset;
4629
4614
                }
4630
4615
                {
4631
4616
                        uint32_t _flags_save_string = ndr->flags;
4632
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
4617
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
4633
4618
                        if (r->driver_name) {
4634
4619
                                uint32_t _relative_save_offset;
4635
4620
                                _relative_save_offset = ndr->offset;
4664
4649
                }
4665
4650
                {
4666
4651
                        uint32_t _flags_save_string = ndr->flags;
4667
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
4652
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
4668
4653
                        if (r->text_status) {
4669
4654
                                uint32_t _relative_save_offset;
4670
4655
                                _relative_save_offset = ndr->offset;
7974
7959
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, (ndr_size_spoolss_StringArray(r, ndr->iconv_convenience, ndr->flags) - 4) / 2));
7975
7960
                {
7976
7961
                        uint32_t _flags_save_string_array = ndr->flags;
7977
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
7962
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
7978
7963
                        NDR_CHECK(ndr_push_string_array(ndr, NDR_SCALARS, r->string));
7979
7964
                        ndr->flags = _flags_save_string_array;
7980
7965
                }
7992
7977
                NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->_ndr_size));
7993
7978
                {
7994
7979
                        uint32_t _flags_save_string_array = ndr->flags;
7995
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
7980
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
7996
7981
                        NDR_CHECK(ndr_pull_string_array(ndr, NDR_SCALARS, &r->string));
7997
7982
                        ndr->flags = _flags_save_string_array;
7998
7983
                }
10468
10453
                NDR_CHECK(ndr_push_align(ndr, 5));
10469
10454
                {
10470
10455
                        uint32_t _flags_save_string = ndr->flags;
10471
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
10456
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
10472
10457
                        NDR_CHECK(ndr_push_relative_ptr1(ndr, r->driver_name));
10473
10458
                        ndr->flags = _flags_save_string;
10474
10459
                }
10477
10462
        if (ndr_flags & NDR_BUFFERS) {
10478
10463
                {
10479
10464
                        uint32_t _flags_save_string = ndr->flags;
10480
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
10465
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
10481
10466
                        if (r->driver_name) {
10482
10467
                                NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->driver_name));
10483
10468
                                NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->driver_name));
10497
10482
                NDR_CHECK(ndr_pull_align(ndr, 5));
10498
10483
                {
10499
10484
                        uint32_t _flags_save_string = ndr->flags;
10500
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
10485
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
10501
10486
                        NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_driver_name));
10502
10487
                        if (_ptr_driver_name) {
10503
10488
                                NDR_PULL_ALLOC(ndr, r->driver_name);
10512
10497
        if (ndr_flags & NDR_BUFFERS) {
10513
10498
                {
10514
10499
                        uint32_t _flags_save_string = ndr->flags;
10515
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
10500
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
10516
10501
                        if (r->driver_name) {
10517
10502
                                uint32_t _relative_save_offset;
10518
10503
                                _relative_save_offset = ndr->offset;
10554
10539
                NDR_CHECK(ndr_push_spoolss_DriverOSVersion(ndr, NDR_SCALARS, r->version));
10555
10540
                {
10556
10541
                        uint32_t _flags_save_string = ndr->flags;
10557
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
10542
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
10558
10543
                        NDR_CHECK(ndr_push_relative_ptr1(ndr, r->driver_name));
10559
10544
                        ndr->flags = _flags_save_string;
10560
10545
                }
10561
10546
                {
10562
10547
                        uint32_t _flags_save_string = ndr->flags;
10563
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
10548
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
10564
10549
                        NDR_CHECK(ndr_push_relative_ptr1(ndr, r->architecture));
10565
10550
                        ndr->flags = _flags_save_string;
10566
10551
                }
10567
10552
                {
10568
10553
                        uint32_t _flags_save_string = ndr->flags;
10569
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
10554
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
10570
10555
                        NDR_CHECK(ndr_push_relative_ptr1(ndr, r->driver_path));
10571
10556
                        ndr->flags = _flags_save_string;
10572
10557
                }
10573
10558
                {
10574
10559
                        uint32_t _flags_save_string = ndr->flags;
10575
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
10560
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
10576
10561
                        NDR_CHECK(ndr_push_relative_ptr1(ndr, r->data_file));
10577
10562
                        ndr->flags = _flags_save_string;
10578
10563
                }
10579
10564
                {
10580
10565
                        uint32_t _flags_save_string = ndr->flags;
10581
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
10566
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
10582
10567
                        NDR_CHECK(ndr_push_relative_ptr1(ndr, r->config_file));
10583
10568
                        ndr->flags = _flags_save_string;
10584
10569
                }
10587
10572
        if (ndr_flags & NDR_BUFFERS) {
10588
10573
                {
10589
10574
                        uint32_t _flags_save_string = ndr->flags;
10590
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
10575
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
10591
10576
                        if (r->driver_name) {
10592
10577
                                NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->driver_name));
10593
10578
                                NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->driver_name));
10597
10582
                }
10598
10583
                {
10599
10584
                        uint32_t _flags_save_string = ndr->flags;
10600
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
10585
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
10601
10586
                        if (r->architecture) {
10602
10587
                                NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->architecture));
10603
10588
                                NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->architecture));
10607
10592
                }
10608
10593
                {
10609
10594
                        uint32_t _flags_save_string = ndr->flags;
10610
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
10595
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
10611
10596
                        if (r->driver_path) {
10612
10597
                                NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->driver_path));
10613
10598
                                NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->driver_path));
10617
10602
                }
10618
10603
                {
10619
10604
                        uint32_t _flags_save_string = ndr->flags;
10620
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
10605
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
10621
10606
                        if (r->data_file) {
10622
10607
                                NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->data_file));
10623
10608
                                NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->data_file));
10627
10612
                }
10628
10613
                {
10629
10614
                        uint32_t _flags_save_string = ndr->flags;
10630
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
10615
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
10631
10616
                        if (r->config_file) {
10632
10617
                                NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->config_file));
10633
10618
                                NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->config_file));
10656
10641
                NDR_CHECK(ndr_pull_spoolss_DriverOSVersion(ndr, NDR_SCALARS, &r->version));
10657
10642
                {
10658
10643
                        uint32_t _flags_save_string = ndr->flags;
10659
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
10644
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
10660
10645
                        NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_driver_name));
10661
10646
                        if (_ptr_driver_name) {
10662
10647
                                NDR_PULL_ALLOC(ndr, r->driver_name);
10668
10653
                }
10669
10654
                {
10670
10655
                        uint32_t _flags_save_string = ndr->flags;
10671
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
10656
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
10672
10657
                        NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_architecture));
10673
10658
                        if (_ptr_architecture) {
10674
10659
                                NDR_PULL_ALLOC(ndr, r->architecture);
10680
10665
                }
10681
10666
                {
10682
10667
                        uint32_t _flags_save_string = ndr->flags;
10683
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
10668
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
10684
10669
                        NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_driver_path));
10685
10670
                        if (_ptr_driver_path) {
10686
10671
                                NDR_PULL_ALLOC(ndr, r->driver_path);
10692
10677
                }
10693
10678
                {
10694
10679
                        uint32_t _flags_save_string = ndr->flags;
10695
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
10680
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
10696
10681
                        NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_data_file));
10697
10682
                        if (_ptr_data_file) {
10698
10683
                                NDR_PULL_ALLOC(ndr, r->data_file);
10704
10689
                }
10705
10690
                {
10706
10691
                        uint32_t _flags_save_string = ndr->flags;
10707
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
10692
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
10708
10693
                        NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_config_file));
10709
10694
                        if (_ptr_config_file) {
10710
10695
                                NDR_PULL_ALLOC(ndr, r->config_file);
10719
10704
        if (ndr_flags & NDR_BUFFERS) {
10720
10705
                {
10721
10706
                        uint32_t _flags_save_string = ndr->flags;
10722
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
10707
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
10723
10708
                        if (r->driver_name) {
10724
10709
                                uint32_t _relative_save_offset;
10725
10710
                                _relative_save_offset = ndr->offset;
10734
10719
                }
10735
10720
                {
10736
10721
                        uint32_t _flags_save_string = ndr->flags;
10737
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
10722
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
10738
10723
                        if (r->architecture) {
10739
10724
                                uint32_t _relative_save_offset;
10740
10725
                                _relative_save_offset = ndr->offset;
10749
10734
                }
10750
10735
                {
10751
10736
                        uint32_t _flags_save_string = ndr->flags;
10752
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
10737
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
10753
10738
                        if (r->driver_path) {
10754
10739
                                uint32_t _relative_save_offset;
10755
10740
                                _relative_save_offset = ndr->offset;
10764
10749
                }
10765
10750
                {
10766
10751
                        uint32_t _flags_save_string = ndr->flags;
10767
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
10752
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
10768
10753
                        if (r->data_file) {
10769
10754
                                uint32_t _relative_save_offset;
10770
10755
                                _relative_save_offset = ndr->offset;
10779
10764
                }
10780
10765
                {
10781
10766
                        uint32_t _flags_save_string = ndr->flags;
10782
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
10767
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
10783
10768
                        if (r->config_file) {
10784
10769
                                uint32_t _relative_save_offset;
10785
10770
                                _relative_save_offset = ndr->offset;
10846
10831
                NDR_CHECK(ndr_push_spoolss_DriverOSVersion(ndr, NDR_SCALARS, r->version));
10847
10832
                {
10848
10833
                        uint32_t _flags_save_string = ndr->flags;
10849
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
10834
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
10850
10835
                        NDR_CHECK(ndr_push_relative_ptr1(ndr, r->driver_name));
10851
10836
                        ndr->flags = _flags_save_string;
10852
10837
                }
10853
10838
                {
10854
10839
                        uint32_t _flags_save_string = ndr->flags;
10855
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
10840
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
10856
10841
                        NDR_CHECK(ndr_push_relative_ptr1(ndr, r->architecture));
10857
10842
                        ndr->flags = _flags_save_string;
10858
10843
                }
10859
10844
                {
10860
10845
                        uint32_t _flags_save_string = ndr->flags;
10861
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
10846
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
10862
10847
                        NDR_CHECK(ndr_push_relative_ptr1(ndr, r->driver_path));
10863
10848
                        ndr->flags = _flags_save_string;
10864
10849
                }
10865
10850
                {
10866
10851
                        uint32_t _flags_save_string = ndr->flags;
10867
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
10852
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
10868
10853
                        NDR_CHECK(ndr_push_relative_ptr1(ndr, r->data_file));
10869
10854
                        ndr->flags = _flags_save_string;
10870
10855
                }
10871
10856
                {
10872
10857
                        uint32_t _flags_save_string = ndr->flags;
10873
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
10858
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
10874
10859
                        NDR_CHECK(ndr_push_relative_ptr1(ndr, r->config_file));
10875
10860
                        ndr->flags = _flags_save_string;
10876
10861
                }
10877
10862
                {
10878
10863
                        uint32_t _flags_save_string = ndr->flags;
10879
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
10864
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
10880
10865
                        NDR_CHECK(ndr_push_relative_ptr1(ndr, r->help_file));
10881
10866
                        ndr->flags = _flags_save_string;
10882
10867
                }
10883
10868
                {
10884
10869
                        uint32_t _flags_save_string_array = ndr->flags;
10885
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
10870
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
10886
10871
                        NDR_CHECK(ndr_push_relative_ptr1(ndr, r->dependent_files));
10887
10872
                        ndr->flags = _flags_save_string_array;
10888
10873
                }
10889
10874
                {
10890
10875
                        uint32_t _flags_save_string = ndr->flags;
10891
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
10876
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
10892
10877
                        NDR_CHECK(ndr_push_relative_ptr1(ndr, r->monitor_name));
10893
10878
                        ndr->flags = _flags_save_string;
10894
10879
                }
10895
10880
                {
10896
10881
                        uint32_t _flags_save_string = ndr->flags;
10897
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
10882
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
10898
10883
                        NDR_CHECK(ndr_push_relative_ptr1(ndr, r->default_datatype));
10899
10884
                        ndr->flags = _flags_save_string;
10900
10885
                }
10903
10888
        if (ndr_flags & NDR_BUFFERS) {
10904
10889
                {
10905
10890
                        uint32_t _flags_save_string = ndr->flags;
10906
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
10891
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
10907
10892
                        if (r->driver_name) {
10908
10893
                                NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->driver_name));
10909
10894
                                NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->driver_name));
10913
10898
                }
10914
10899
                {
10915
10900
                        uint32_t _flags_save_string = ndr->flags;
10916
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
10901
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
10917
10902
                        if (r->architecture) {
10918
10903
                                NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->architecture));
10919
10904
                                NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->architecture));
10923
10908
                }
10924
10909
                {
10925
10910
                        uint32_t _flags_save_string = ndr->flags;
10926
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
10911
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
10927
10912
                        if (r->driver_path) {
10928
10913
                                NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->driver_path));
10929
10914
                                NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->driver_path));
10933
10918
                }
10934
10919
                {
10935
10920
                        uint32_t _flags_save_string = ndr->flags;
10936
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
10921
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
10937
10922
                        if (r->data_file) {
10938
10923
                                NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->data_file));
10939
10924
                                NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->data_file));
10943
10928
                }
10944
10929
                {
10945
10930
                        uint32_t _flags_save_string = ndr->flags;
10946
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
10931
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
10947
10932
                        if (r->config_file) {
10948
10933
                                NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->config_file));
10949
10934
                                NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->config_file));
10953
10938
                }
10954
10939
                {
10955
10940
                        uint32_t _flags_save_string = ndr->flags;
10956
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
10941
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
10957
10942
                        if (r->help_file) {
10958
10943
                                NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->help_file));
10959
10944
                                NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->help_file));
10963
10948
                }
10964
10949
                {
10965
10950
                        uint32_t _flags_save_string_array = ndr->flags;
10966
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
10951
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
10967
10952
                        if (r->dependent_files) {
10968
10953
                                NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->dependent_files));
10969
10954
                                NDR_CHECK(ndr_push_string_array(ndr, NDR_SCALARS, r->dependent_files));
10973
10958
                }
10974
10959
                {
10975
10960
                        uint32_t _flags_save_string = ndr->flags;
10976
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
10961
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
10977
10962
                        if (r->monitor_name) {
10978
10963
                                NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->monitor_name));
10979
10964
                                NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->monitor_name));
10983
10968
                }
10984
10969
                {
10985
10970
                        uint32_t _flags_save_string = ndr->flags;
10986
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
10971
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
10987
10972
                        if (r->default_datatype) {
10988
10973
                                NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->default_datatype));
10989
10974
                                NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->default_datatype));
11020
11005
                NDR_CHECK(ndr_pull_spoolss_DriverOSVersion(ndr, NDR_SCALARS, &r->version));
11021
11006
                {
11022
11007
                        uint32_t _flags_save_string = ndr->flags;
11023
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
11008
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
11024
11009
                        NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_driver_name));
11025
11010
                        if (_ptr_driver_name) {
11026
11011
                                NDR_PULL_ALLOC(ndr, r->driver_name);
11032
11017
                }
11033
11018
                {
11034
11019
                        uint32_t _flags_save_string = ndr->flags;
11035
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
11020
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
11036
11021
                        NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_architecture));
11037
11022
                        if (_ptr_architecture) {
11038
11023
                                NDR_PULL_ALLOC(ndr, r->architecture);
11044
11029
                }
11045
11030
                {
11046
11031
                        uint32_t _flags_save_string = ndr->flags;
11047
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
11032
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
11048
11033
                        NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_driver_path));
11049
11034
                        if (_ptr_driver_path) {
11050
11035
                                NDR_PULL_ALLOC(ndr, r->driver_path);
11056
11041
                }
11057
11042
                {
11058
11043
                        uint32_t _flags_save_string = ndr->flags;
11059
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
11044
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
11060
11045
                        NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_data_file));
11061
11046
                        if (_ptr_data_file) {
11062
11047
                                NDR_PULL_ALLOC(ndr, r->data_file);
11068
11053
                }
11069
11054
                {
11070
11055
                        uint32_t _flags_save_string = ndr->flags;
11071
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
11056
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
11072
11057
                        NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_config_file));
11073
11058
                        if (_ptr_config_file) {
11074
11059
                                NDR_PULL_ALLOC(ndr, r->config_file);
11080
11065
                }
11081
11066
                {
11082
11067
                        uint32_t _flags_save_string = ndr->flags;
11083
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
11068
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
11084
11069
                        NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_help_file));
11085
11070
                        if (_ptr_help_file) {
11086
11071
                                NDR_PULL_ALLOC(ndr, r->help_file);
11092
11077
                }
11093
11078
                {
11094
11079
                        uint32_t _flags_save_string_array = ndr->flags;
11095
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
11080
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
11096
11081
                        NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dependent_files));
11097
11082
                        if (_ptr_dependent_files) {
11098
11083
                                NDR_PULL_ALLOC(ndr, r->dependent_files);
11104
11089
                }
11105
11090
                {
11106
11091
                        uint32_t _flags_save_string = ndr->flags;
11107
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
11092
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
11108
11093
                        NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_monitor_name));
11109
11094
                        if (_ptr_monitor_name) {
11110
11095
                                NDR_PULL_ALLOC(ndr, r->monitor_name);
11116
11101
                }
11117
11102
                {
11118
11103
                        uint32_t _flags_save_string = ndr->flags;
11119
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
11104
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
11120
11105
                        NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_default_datatype));
11121
11106
                        if (_ptr_default_datatype) {
11122
11107
                                NDR_PULL_ALLOC(ndr, r->default_datatype);
11131
11116
        if (ndr_flags & NDR_BUFFERS) {
11132
11117
                {
11133
11118
                        uint32_t _flags_save_string = ndr->flags;
11134
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
11119
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
11135
11120
                        if (r->driver_name) {
11136
11121
                                uint32_t _relative_save_offset;
11137
11122
                                _relative_save_offset = ndr->offset;
11146
11131
                }
11147
11132
                {
11148
11133
                        uint32_t _flags_save_string = ndr->flags;
11149
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
11134
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
11150
11135
                        if (r->architecture) {
11151
11136
                                uint32_t _relative_save_offset;
11152
11137
                                _relative_save_offset = ndr->offset;
11161
11146
                }
11162
11147
                {
11163
11148
                        uint32_t _flags_save_string = ndr->flags;
11164
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
11149
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
11165
11150
                        if (r->driver_path) {
11166
11151
                                uint32_t _relative_save_offset;
11167
11152
                                _relative_save_offset = ndr->offset;
11176
11161
                }
11177
11162
                {
11178
11163
                        uint32_t _flags_save_string = ndr->flags;
11179
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
11164
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
11180
11165
                        if (r->data_file) {
11181
11166
                                uint32_t _relative_save_offset;
11182
11167
                                _relative_save_offset = ndr->offset;
11191
11176
                }
11192
11177
                {
11193
11178
                        uint32_t _flags_save_string = ndr->flags;
11194
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
11179
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
11195
11180
                        if (r->config_file) {
11196
11181
                                uint32_t _relative_save_offset;
11197
11182
                                _relative_save_offset = ndr->offset;
11206
11191
                }
11207
11192
                {
11208
11193
                        uint32_t _flags_save_string = ndr->flags;
11209
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
11194
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
11210
11195
                        if (r->help_file) {
11211
11196
                                uint32_t _relative_save_offset;
11212
11197
                                _relative_save_offset = ndr->offset;
11221
11206
                }
11222
11207
                {
11223
11208
                        uint32_t _flags_save_string_array = ndr->flags;
11224
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
11209
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
11225
11210
                        if (r->dependent_files) {
11226
11211
                                uint32_t _relative_save_offset;
11227
11212
                                _relative_save_offset = ndr->offset;
11236
11221
                }
11237
11222
                {
11238
11223
                        uint32_t _flags_save_string = ndr->flags;
11239
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
11224
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
11240
11225
                        if (r->monitor_name) {
11241
11226
                                uint32_t _relative_save_offset;
11242
11227
                                _relative_save_offset = ndr->offset;
11251
11236
                }
11252
11237
                {
11253
11238
                        uint32_t _flags_save_string = ndr->flags;
11254
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
11239
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
11255
11240
                        if (r->default_datatype) {
11256
11241
                                uint32_t _relative_save_offset;
11257
11242
                                _relative_save_offset = ndr->offset;
11342
11327
                NDR_CHECK(ndr_push_spoolss_DriverOSVersion(ndr, NDR_SCALARS, r->version));
11343
11328
                {
11344
11329
                        uint32_t _flags_save_string = ndr->flags;
11345
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
11330
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
11346
11331
                        NDR_CHECK(ndr_push_relative_ptr1(ndr, r->driver_name));
11347
11332
                        ndr->flags = _flags_save_string;
11348
11333
                }
11349
11334
                {
11350
11335
                        uint32_t _flags_save_string = ndr->flags;
11351
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
11336
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
11352
11337
                        NDR_CHECK(ndr_push_relative_ptr1(ndr, r->architecture));
11353
11338
                        ndr->flags = _flags_save_string;
11354
11339
                }
11355
11340
                {
11356
11341
                        uint32_t _flags_save_string = ndr->flags;
11357
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
11342
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
11358
11343
                        NDR_CHECK(ndr_push_relative_ptr1(ndr, r->driver_path));
11359
11344
                        ndr->flags = _flags_save_string;
11360
11345
                }
11361
11346
                {
11362
11347
                        uint32_t _flags_save_string = ndr->flags;
11363
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
11348
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
11364
11349
                        NDR_CHECK(ndr_push_relative_ptr1(ndr, r->data_file));
11365
11350
                        ndr->flags = _flags_save_string;
11366
11351
                }
11367
11352
                {
11368
11353
                        uint32_t _flags_save_string = ndr->flags;
11369
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
11354
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
11370
11355
                        NDR_CHECK(ndr_push_relative_ptr1(ndr, r->config_file));
11371
11356
                        ndr->flags = _flags_save_string;
11372
11357
                }
11373
11358
                {
11374
11359
                        uint32_t _flags_save_string = ndr->flags;
11375
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
11360
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
11376
11361
                        NDR_CHECK(ndr_push_relative_ptr1(ndr, r->help_file));
11377
11362
                        ndr->flags = _flags_save_string;
11378
11363
                }
11379
11364
                {
11380
11365
                        uint32_t _flags_save_string_array = ndr->flags;
11381
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
11366
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
11382
11367
                        NDR_CHECK(ndr_push_relative_ptr1(ndr, r->dependent_files));
11383
11368
                        ndr->flags = _flags_save_string_array;
11384
11369
                }
11385
11370
                {
11386
11371
                        uint32_t _flags_save_string = ndr->flags;
11387
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
11372
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
11388
11373
                        NDR_CHECK(ndr_push_relative_ptr1(ndr, r->monitor_name));
11389
11374
                        ndr->flags = _flags_save_string;
11390
11375
                }
11391
11376
                {
11392
11377
                        uint32_t _flags_save_string = ndr->flags;
11393
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
11378
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
11394
11379
                        NDR_CHECK(ndr_push_relative_ptr1(ndr, r->default_datatype));
11395
11380
                        ndr->flags = _flags_save_string;
11396
11381
                }
11397
11382
                {
11398
11383
                        uint32_t _flags_save_string_array = ndr->flags;
11399
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
11384
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
11400
11385
                        NDR_CHECK(ndr_push_relative_ptr1(ndr, r->previous_names));
11401
11386
                        ndr->flags = _flags_save_string_array;
11402
11387
                }
11405
11390
        if (ndr_flags & NDR_BUFFERS) {
11406
11391
                {
11407
11392
                        uint32_t _flags_save_string = ndr->flags;
11408
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
11393
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
11409
11394
                        if (r->driver_name) {
11410
11395
                                NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->driver_name));
11411
11396
                                NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->driver_name));
11415
11400
                }
11416
11401
                {
11417
11402
                        uint32_t _flags_save_string = ndr->flags;
11418
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
11403
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
11419
11404
                        if (r->architecture) {
11420
11405
                                NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->architecture));
11421
11406
                                NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->architecture));
11425
11410
                }
11426
11411
                {
11427
11412
                        uint32_t _flags_save_string = ndr->flags;
11428
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
11413
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
11429
11414
                        if (r->driver_path) {
11430
11415
                                NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->driver_path));
11431
11416
                                NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->driver_path));
11435
11420
                }
11436
11421
                {
11437
11422
                        uint32_t _flags_save_string = ndr->flags;
11438
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
11423
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
11439
11424
                        if (r->data_file) {
11440
11425
                                NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->data_file));
11441
11426
                                NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->data_file));
11445
11430
                }
11446
11431
                {
11447
11432
                        uint32_t _flags_save_string = ndr->flags;
11448
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
11433
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
11449
11434
                        if (r->config_file) {
11450
11435
                                NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->config_file));
11451
11436
                                NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->config_file));
11455
11440
                }
11456
11441
                {
11457
11442
                        uint32_t _flags_save_string = ndr->flags;
11458
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
11443
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
11459
11444
                        if (r->help_file) {
11460
11445
                                NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->help_file));
11461
11446
                                NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->help_file));
11465
11450
                }
11466
11451
                {
11467
11452
                        uint32_t _flags_save_string_array = ndr->flags;
11468
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
11453
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
11469
11454
                        if (r->dependent_files) {
11470
11455
                                NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->dependent_files));
11471
11456
                                NDR_CHECK(ndr_push_string_array(ndr, NDR_SCALARS, r->dependent_files));
11475
11460
                }
11476
11461
                {
11477
11462
                        uint32_t _flags_save_string = ndr->flags;
11478
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
11463
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
11479
11464
                        if (r->monitor_name) {
11480
11465
                                NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->monitor_name));
11481
11466
                                NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->monitor_name));
11485
11470
                }
11486
11471
                {
11487
11472
                        uint32_t _flags_save_string = ndr->flags;
11488
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
11473
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
11489
11474
                        if (r->default_datatype) {
11490
11475
                                NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->default_datatype));
11491
11476
                                NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->default_datatype));
11495
11480
                }
11496
11481
                {
11497
11482
                        uint32_t _flags_save_string_array = ndr->flags;
11498
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
11483
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
11499
11484
                        if (r->previous_names) {
11500
11485
                                NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->previous_names));
11501
11486
                                NDR_CHECK(ndr_push_string_array(ndr, NDR_SCALARS, r->previous_names));
11534
11519
                NDR_CHECK(ndr_pull_spoolss_DriverOSVersion(ndr, NDR_SCALARS, &r->version));
11535
11520
                {
11536
11521
                        uint32_t _flags_save_string = ndr->flags;
11537
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
11522
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
11538
11523
                        NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_driver_name));
11539
11524
                        if (_ptr_driver_name) {
11540
11525
                                NDR_PULL_ALLOC(ndr, r->driver_name);
11546
11531
                }
11547
11532
                {
11548
11533
                        uint32_t _flags_save_string = ndr->flags;
11549
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
11534
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
11550
11535
                        NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_architecture));
11551
11536
                        if (_ptr_architecture) {
11552
11537
                                NDR_PULL_ALLOC(ndr, r->architecture);
11558
11543
                }
11559
11544
                {
11560
11545
                        uint32_t _flags_save_string = ndr->flags;
11561
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
11546
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
11562
11547
                        NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_driver_path));
11563
11548
                        if (_ptr_driver_path) {
11564
11549
                                NDR_PULL_ALLOC(ndr, r->driver_path);
11570
11555
                }
11571
11556
                {
11572
11557
                        uint32_t _flags_save_string = ndr->flags;
11573
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
11558
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
11574
11559
                        NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_data_file));
11575
11560
                        if (_ptr_data_file) {
11576
11561
                                NDR_PULL_ALLOC(ndr, r->data_file);
11582
11567
                }
11583
11568
                {
11584
11569
                        uint32_t _flags_save_string = ndr->flags;
11585
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
11570
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
11586
11571
                        NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_config_file));
11587
11572
                        if (_ptr_config_file) {
11588
11573
                                NDR_PULL_ALLOC(ndr, r->config_file);
11594
11579
                }
11595
11580
                {
11596
11581
                        uint32_t _flags_save_string = ndr->flags;
11597
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
11582
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
11598
11583
                        NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_help_file));
11599
11584
                        if (_ptr_help_file) {
11600
11585
                                NDR_PULL_ALLOC(ndr, r->help_file);
11606
11591
                }
11607
11592
                {
11608
11593
                        uint32_t _flags_save_string_array = ndr->flags;
11609
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
11594
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
11610
11595
                        NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dependent_files));
11611
11596
                        if (_ptr_dependent_files) {
11612
11597
                                NDR_PULL_ALLOC(ndr, r->dependent_files);
11618
11603
                }
11619
11604
                {
11620
11605
                        uint32_t _flags_save_string = ndr->flags;
11621
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
11606
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
11622
11607
                        NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_monitor_name));
11623
11608
                        if (_ptr_monitor_name) {
11624
11609
                                NDR_PULL_ALLOC(ndr, r->monitor_name);
11630
11615
                }
11631
11616
                {
11632
11617
                        uint32_t _flags_save_string = ndr->flags;
11633
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
11618
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
11634
11619
                        NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_default_datatype));
11635
11620
                        if (_ptr_default_datatype) {
11636
11621
                                NDR_PULL_ALLOC(ndr, r->default_datatype);
11642
11627
                }
11643
11628
                {
11644
11629
                        uint32_t _flags_save_string_array = ndr->flags;
11645
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
11630
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
11646
11631
                        NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_previous_names));
11647
11632
                        if (_ptr_previous_names) {
11648
11633
                                NDR_PULL_ALLOC(ndr, r->previous_names);
11657
11642
        if (ndr_flags & NDR_BUFFERS) {
11658
11643
                {
11659
11644
                        uint32_t _flags_save_string = ndr->flags;
11660
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
11645
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
11661
11646
                        if (r->driver_name) {
11662
11647
                                uint32_t _relative_save_offset;
11663
11648
                                _relative_save_offset = ndr->offset;
11672
11657
                }
11673
11658
                {
11674
11659
                        uint32_t _flags_save_string = ndr->flags;
11675
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
11660
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
11676
11661
                        if (r->architecture) {
11677
11662
                                uint32_t _relative_save_offset;
11678
11663
                                _relative_save_offset = ndr->offset;
11687
11672
                }
11688
11673
                {
11689
11674
                        uint32_t _flags_save_string = ndr->flags;
11690
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
11675
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
11691
11676
                        if (r->driver_path) {
11692
11677
                                uint32_t _relative_save_offset;
11693
11678
                                _relative_save_offset = ndr->offset;
11702
11687
                }
11703
11688
                {
11704
11689
                        uint32_t _flags_save_string = ndr->flags;
11705
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
11690
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
11706
11691
                        if (r->data_file) {
11707
11692
                                uint32_t _relative_save_offset;
11708
11693
                                _relative_save_offset = ndr->offset;
11717
11702
                }
11718
11703
                {
11719
11704
                        uint32_t _flags_save_string = ndr->flags;
11720
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
11705
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
11721
11706
                        if (r->config_file) {
11722
11707
                                uint32_t _relative_save_offset;
11723
11708
                                _relative_save_offset = ndr->offset;
11732
11717
                }
11733
11718
                {
11734
11719
                        uint32_t _flags_save_string = ndr->flags;
11735
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
11720
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
11736
11721
                        if (r->help_file) {
11737
11722
                                uint32_t _relative_save_offset;
11738
11723
                                _relative_save_offset = ndr->offset;
11747
11732
                }
11748
11733
                {
11749
11734
                        uint32_t _flags_save_string_array = ndr->flags;
11750
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
11735
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
11751
11736
                        if (r->dependent_files) {
11752
11737
                                uint32_t _relative_save_offset;
11753
11738
                                _relative_save_offset = ndr->offset;
11762
11747
                }
11763
11748
                {
11764
11749
                        uint32_t _flags_save_string = ndr->flags;
11765
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
11750
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
11766
11751
                        if (r->monitor_name) {
11767
11752
                                uint32_t _relative_save_offset;
11768
11753
                                _relative_save_offset = ndr->offset;
11777
11762
                }
11778
11763
                {
11779
11764
                        uint32_t _flags_save_string = ndr->flags;
11780
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
11765
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
11781
11766
                        if (r->default_datatype) {
11782
11767
                                uint32_t _relative_save_offset;
11783
11768
                                _relative_save_offset = ndr->offset;
11792
11777
                }
11793
11778
                {
11794
11779
                        uint32_t _flags_save_string_array = ndr->flags;
11795
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
11780
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
11796
11781
                        if (r->previous_names) {
11797
11782
                                uint32_t _relative_save_offset;
11798
11783
                                _relative_save_offset = ndr->offset;
11889
11874
                NDR_CHECK(ndr_push_spoolss_DriverOSVersion(ndr, NDR_SCALARS, r->version));
11890
11875
                {
11891
11876
                        uint32_t _flags_save_string = ndr->flags;
11892
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
11877
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
11893
11878
                        NDR_CHECK(ndr_push_relative_ptr1(ndr, r->driver_name));
11894
11879
                        ndr->flags = _flags_save_string;
11895
11880
                }
11896
11881
                {
11897
11882
                        uint32_t _flags_save_string = ndr->flags;
11898
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
11883
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
11899
11884
                        NDR_CHECK(ndr_push_relative_ptr1(ndr, r->architecture));
11900
11885
                        ndr->flags = _flags_save_string;
11901
11886
                }
11902
11887
                {
11903
11888
                        uint32_t _flags_save_string = ndr->flags;
11904
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
11889
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
11905
11890
                        NDR_CHECK(ndr_push_relative_ptr1(ndr, r->driver_path));
11906
11891
                        ndr->flags = _flags_save_string;
11907
11892
                }
11908
11893
                {
11909
11894
                        uint32_t _flags_save_string = ndr->flags;
11910
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
11895
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
11911
11896
                        NDR_CHECK(ndr_push_relative_ptr1(ndr, r->data_file));
11912
11897
                        ndr->flags = _flags_save_string;
11913
11898
                }
11914
11899
                {
11915
11900
                        uint32_t _flags_save_string = ndr->flags;
11916
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
11901
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
11917
11902
                        NDR_CHECK(ndr_push_relative_ptr1(ndr, r->config_file));
11918
11903
                        ndr->flags = _flags_save_string;
11919
11904
                }
11925
11910
        if (ndr_flags & NDR_BUFFERS) {
11926
11911
                {
11927
11912
                        uint32_t _flags_save_string = ndr->flags;
11928
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
11913
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
11929
11914
                        if (r->driver_name) {
11930
11915
                                NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->driver_name));
11931
11916
                                NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->driver_name));
11935
11920
                }
11936
11921
                {
11937
11922
                        uint32_t _flags_save_string = ndr->flags;
11938
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
11923
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
11939
11924
                        if (r->architecture) {
11940
11925
                                NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->architecture));
11941
11926
                                NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->architecture));
11945
11930
                }
11946
11931
                {
11947
11932
                        uint32_t _flags_save_string = ndr->flags;
11948
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
11933
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
11949
11934
                        if (r->driver_path) {
11950
11935
                                NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->driver_path));
11951
11936
                                NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->driver_path));
11955
11940
                }
11956
11941
                {
11957
11942
                        uint32_t _flags_save_string = ndr->flags;
11958
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
11943
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
11959
11944
                        if (r->data_file) {
11960
11945
                                NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->data_file));
11961
11946
                                NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->data_file));
11965
11950
                }
11966
11951
                {
11967
11952
                        uint32_t _flags_save_string = ndr->flags;
11968
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
11953
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
11969
11954
                        if (r->config_file) {
11970
11955
                                NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->config_file));
11971
11956
                                NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->config_file));
11994
11979
                NDR_CHECK(ndr_pull_spoolss_DriverOSVersion(ndr, NDR_SCALARS, &r->version));
11995
11980
                {
11996
11981
                        uint32_t _flags_save_string = ndr->flags;
11997
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
11982
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
11998
11983
                        NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_driver_name));
11999
11984
                        if (_ptr_driver_name) {
12000
11985
                                NDR_PULL_ALLOC(ndr, r->driver_name);
12006
11991
                }
12007
11992
                {
12008
11993
                        uint32_t _flags_save_string = ndr->flags;
12009
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
11994
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
12010
11995
                        NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_architecture));
12011
11996
                        if (_ptr_architecture) {
12012
11997
                                NDR_PULL_ALLOC(ndr, r->architecture);
12018
12003
                }
12019
12004
                {
12020
12005
                        uint32_t _flags_save_string = ndr->flags;
12021
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
12006
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
12022
12007
                        NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_driver_path));
12023
12008
                        if (_ptr_driver_path) {
12024
12009
                                NDR_PULL_ALLOC(ndr, r->driver_path);
12030
12015
                }
12031
12016
                {
12032
12017
                        uint32_t _flags_save_string = ndr->flags;
12033
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
12018
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
12034
12019
                        NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_data_file));
12035
12020
                        if (_ptr_data_file) {
12036
12021
                                NDR_PULL_ALLOC(ndr, r->data_file);
12042
12027
                }
12043
12028
                {
12044
12029
                        uint32_t _flags_save_string = ndr->flags;
12045
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
12030
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
12046
12031
                        NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_config_file));
12047
12032
                        if (_ptr_config_file) {
12048
12033
                                NDR_PULL_ALLOC(ndr, r->config_file);
12060
12045
        if (ndr_flags & NDR_BUFFERS) {
12061
12046
                {
12062
12047
                        uint32_t _flags_save_string = ndr->flags;
12063
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
12048
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
12064
12049
                        if (r->driver_name) {
12065
12050
                                uint32_t _relative_save_offset;
12066
12051
                                _relative_save_offset = ndr->offset;
12075
12060
                }
12076
12061
                {
12077
12062
                        uint32_t _flags_save_string = ndr->flags;
12078
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
12063
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
12079
12064
                        if (r->architecture) {
12080
12065
                                uint32_t _relative_save_offset;
12081
12066
                                _relative_save_offset = ndr->offset;
12090
12075
                }
12091
12076
                {
12092
12077
                        uint32_t _flags_save_string = ndr->flags;
12093
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
12078
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
12094
12079
                        if (r->driver_path) {
12095
12080
                                uint32_t _relative_save_offset;
12096
12081
                                _relative_save_offset = ndr->offset;
12105
12090
                }
12106
12091
                {
12107
12092
                        uint32_t _flags_save_string = ndr->flags;
12108
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
12093
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
12109
12094
                        if (r->data_file) {
12110
12095
                                uint32_t _relative_save_offset;
12111
12096
                                _relative_save_offset = ndr->offset;
12120
12105
                }
12121
12106
                {
12122
12107
                        uint32_t _flags_save_string = ndr->flags;
12123
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
12108
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
12124
12109
                        if (r->config_file) {
12125
12110
                                uint32_t _relative_save_offset;
12126
12111
                                _relative_save_offset = ndr->offset;
12190
12175
                NDR_CHECK(ndr_push_spoolss_DriverOSVersion(ndr, NDR_SCALARS, r->version));
12191
12176
                {
12192
12177
                        uint32_t _flags_save_string = ndr->flags;
12193
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
12178
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
12194
12179
                        NDR_CHECK(ndr_push_relative_ptr1(ndr, r->driver_name));
12195
12180
                        ndr->flags = _flags_save_string;
12196
12181
                }
12197
12182
                {
12198
12183
                        uint32_t _flags_save_string = ndr->flags;
12199
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
12184
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
12200
12185
                        NDR_CHECK(ndr_push_relative_ptr1(ndr, r->architecture));
12201
12186
                        ndr->flags = _flags_save_string;
12202
12187
                }
12203
12188
                {
12204
12189
                        uint32_t _flags_save_string = ndr->flags;
12205
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
12190
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
12206
12191
                        NDR_CHECK(ndr_push_relative_ptr1(ndr, r->driver_path));
12207
12192
                        ndr->flags = _flags_save_string;
12208
12193
                }
12209
12194
                {
12210
12195
                        uint32_t _flags_save_string = ndr->flags;
12211
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
12196
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
12212
12197
                        NDR_CHECK(ndr_push_relative_ptr1(ndr, r->data_file));
12213
12198
                        ndr->flags = _flags_save_string;
12214
12199
                }
12215
12200
                {
12216
12201
                        uint32_t _flags_save_string = ndr->flags;
12217
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
12202
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
12218
12203
                        NDR_CHECK(ndr_push_relative_ptr1(ndr, r->config_file));
12219
12204
                        ndr->flags = _flags_save_string;
12220
12205
                }
12221
12206
                {
12222
12207
                        uint32_t _flags_save_string = ndr->flags;
12223
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
12208
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
12224
12209
                        NDR_CHECK(ndr_push_relative_ptr1(ndr, r->help_file));
12225
12210
                        ndr->flags = _flags_save_string;
12226
12211
                }
12227
12212
                {
12228
12213
                        uint32_t _flags_save_string_array = ndr->flags;
12229
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
12214
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
12230
12215
                        NDR_CHECK(ndr_push_relative_ptr1(ndr, r->dependent_files));
12231
12216
                        ndr->flags = _flags_save_string_array;
12232
12217
                }
12233
12218
                {
12234
12219
                        uint32_t _flags_save_string = ndr->flags;
12235
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
12220
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
12236
12221
                        NDR_CHECK(ndr_push_relative_ptr1(ndr, r->monitor_name));
12237
12222
                        ndr->flags = _flags_save_string;
12238
12223
                }
12239
12224
                {
12240
12225
                        uint32_t _flags_save_string = ndr->flags;
12241
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
12226
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
12242
12227
                        NDR_CHECK(ndr_push_relative_ptr1(ndr, r->default_datatype));
12243
12228
                        ndr->flags = _flags_save_string;
12244
12229
                }
12245
12230
                {
12246
12231
                        uint32_t _flags_save_string_array = ndr->flags;
12247
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
12232
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
12248
12233
                        NDR_CHECK(ndr_push_relative_ptr1(ndr, r->previous_names));
12249
12234
                        ndr->flags = _flags_save_string_array;
12250
12235
                }
12252
12237
                NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->driver_version));
12253
12238
                {
12254
12239
                        uint32_t _flags_save_string = ndr->flags;
12255
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
12240
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
12256
12241
                        NDR_CHECK(ndr_push_relative_ptr1(ndr, r->manufacturer_name));
12257
12242
                        ndr->flags = _flags_save_string;
12258
12243
                }
12259
12244
                {
12260
12245
                        uint32_t _flags_save_string = ndr->flags;
12261
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
12246
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
12262
12247
                        NDR_CHECK(ndr_push_relative_ptr1(ndr, r->manufacturer_url));
12263
12248
                        ndr->flags = _flags_save_string;
12264
12249
                }
12265
12250
                {
12266
12251
                        uint32_t _flags_save_string = ndr->flags;
12267
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
12252
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
12268
12253
                        NDR_CHECK(ndr_push_relative_ptr1(ndr, r->hardware_id));
12269
12254
                        ndr->flags = _flags_save_string;
12270
12255
                }
12271
12256
                {
12272
12257
                        uint32_t _flags_save_string = ndr->flags;
12273
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
12258
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
12274
12259
                        NDR_CHECK(ndr_push_relative_ptr1(ndr, r->provider));
12275
12260
                        ndr->flags = _flags_save_string;
12276
12261
                }
12279
12264
        if (ndr_flags & NDR_BUFFERS) {
12280
12265
                {
12281
12266
                        uint32_t _flags_save_string = ndr->flags;
12282
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
12267
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
12283
12268
                        if (r->driver_name) {
12284
12269
                                NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->driver_name));
12285
12270
                                NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->driver_name));
12289
12274
                }
12290
12275
                {
12291
12276
                        uint32_t _flags_save_string = ndr->flags;
12292
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
12277
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
12293
12278
                        if (r->architecture) {
12294
12279
                                NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->architecture));
12295
12280
                                NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->architecture));
12299
12284
                }
12300
12285
                {
12301
12286
                        uint32_t _flags_save_string = ndr->flags;
12302
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
12287
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
12303
12288
                        if (r->driver_path) {
12304
12289
                                NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->driver_path));
12305
12290
                                NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->driver_path));
12309
12294
                }
12310
12295
                {
12311
12296
                        uint32_t _flags_save_string = ndr->flags;
12312
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
12297
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
12313
12298
                        if (r->data_file) {
12314
12299
                                NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->data_file));
12315
12300
                                NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->data_file));
12319
12304
                }
12320
12305
                {
12321
12306
                        uint32_t _flags_save_string = ndr->flags;
12322
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
12307
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
12323
12308
                        if (r->config_file) {
12324
12309
                                NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->config_file));
12325
12310
                                NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->config_file));
12329
12314
                }
12330
12315
                {
12331
12316
                        uint32_t _flags_save_string = ndr->flags;
12332
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
12317
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
12333
12318
                        if (r->help_file) {
12334
12319
                                NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->help_file));
12335
12320
                                NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->help_file));
12339
12324
                }
12340
12325
                {
12341
12326
                        uint32_t _flags_save_string_array = ndr->flags;
12342
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
12327
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
12343
12328
                        if (r->dependent_files) {
12344
12329
                                NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->dependent_files));
12345
12330
                                NDR_CHECK(ndr_push_string_array(ndr, NDR_SCALARS, r->dependent_files));
12349
12334
                }
12350
12335
                {
12351
12336
                        uint32_t _flags_save_string = ndr->flags;
12352
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
12337
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
12353
12338
                        if (r->monitor_name) {
12354
12339
                                NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->monitor_name));
12355
12340
                                NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->monitor_name));
12359
12344
                }
12360
12345
                {
12361
12346
                        uint32_t _flags_save_string = ndr->flags;
12362
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
12347
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
12363
12348
                        if (r->default_datatype) {
12364
12349
                                NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->default_datatype));
12365
12350
                                NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->default_datatype));
12369
12354
                }
12370
12355
                {
12371
12356
                        uint32_t _flags_save_string_array = ndr->flags;
12372
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
12357
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
12373
12358
                        if (r->previous_names) {
12374
12359
                                NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->previous_names));
12375
12360
                                NDR_CHECK(ndr_push_string_array(ndr, NDR_SCALARS, r->previous_names));
12379
12364
                }
12380
12365
                {
12381
12366
                        uint32_t _flags_save_string = ndr->flags;
12382
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
12367
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
12383
12368
                        if (r->manufacturer_name) {
12384
12369
                                NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->manufacturer_name));
12385
12370
                                NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->manufacturer_name));
12389
12374
                }
12390
12375
                {
12391
12376
                        uint32_t _flags_save_string = ndr->flags;
12392
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
12377
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
12393
12378
                        if (r->manufacturer_url) {
12394
12379
                                NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->manufacturer_url));
12395
12380
                                NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->manufacturer_url));
12399
12384
                }
12400
12385
                {
12401
12386
                        uint32_t _flags_save_string = ndr->flags;
12402
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
12387
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
12403
12388
                        if (r->hardware_id) {
12404
12389
                                NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->hardware_id));
12405
12390
                                NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->hardware_id));
12409
12394
                }
12410
12395
                {
12411
12396
                        uint32_t _flags_save_string = ndr->flags;
12412
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
12397
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
12413
12398
                        if (r->provider) {
12414
12399
                                NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->provider));
12415
12400
                                NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->provider));
12456
12441
                NDR_CHECK(ndr_pull_spoolss_DriverOSVersion(ndr, NDR_SCALARS, &r->version));
12457
12442
                {
12458
12443
                        uint32_t _flags_save_string = ndr->flags;
12459
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
12444
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
12460
12445
                        NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_driver_name));
12461
12446
                        if (_ptr_driver_name) {
12462
12447
                                NDR_PULL_ALLOC(ndr, r->driver_name);
12468
12453
                }
12469
12454
                {
12470
12455
                        uint32_t _flags_save_string = ndr->flags;
12471
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
12456
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
12472
12457
                        NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_architecture));
12473
12458
                        if (_ptr_architecture) {
12474
12459
                                NDR_PULL_ALLOC(ndr, r->architecture);
12480
12465
                }
12481
12466
                {
12482
12467
                        uint32_t _flags_save_string = ndr->flags;
12483
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
12468
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
12484
12469
                        NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_driver_path));
12485
12470
                        if (_ptr_driver_path) {
12486
12471
                                NDR_PULL_ALLOC(ndr, r->driver_path);
12492
12477
                }
12493
12478
                {
12494
12479
                        uint32_t _flags_save_string = ndr->flags;
12495
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
12480
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
12496
12481
                        NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_data_file));
12497
12482
                        if (_ptr_data_file) {
12498
12483
                                NDR_PULL_ALLOC(ndr, r->data_file);
12504
12489
                }
12505
12490
                {
12506
12491
                        uint32_t _flags_save_string = ndr->flags;
12507
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
12492
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
12508
12493
                        NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_config_file));
12509
12494
                        if (_ptr_config_file) {
12510
12495
                                NDR_PULL_ALLOC(ndr, r->config_file);
12516
12501
                }
12517
12502
                {
12518
12503
                        uint32_t _flags_save_string = ndr->flags;
12519
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
12504
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
12520
12505
                        NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_help_file));
12521
12506
                        if (_ptr_help_file) {
12522
12507
                                NDR_PULL_ALLOC(ndr, r->help_file);
12528
12513
                }
12529
12514
                {
12530
12515
                        uint32_t _flags_save_string_array = ndr->flags;
12531
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
12516
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
12532
12517
                        NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dependent_files));
12533
12518
                        if (_ptr_dependent_files) {
12534
12519
                                NDR_PULL_ALLOC(ndr, r->dependent_files);
12540
12525
                }
12541
12526
                {
12542
12527
                        uint32_t _flags_save_string = ndr->flags;
12543
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
12528
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
12544
12529
                        NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_monitor_name));
12545
12530
                        if (_ptr_monitor_name) {
12546
12531
                                NDR_PULL_ALLOC(ndr, r->monitor_name);
12552
12537
                }
12553
12538
                {
12554
12539
                        uint32_t _flags_save_string = ndr->flags;
12555
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
12540
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
12556
12541
                        NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_default_datatype));
12557
12542
                        if (_ptr_default_datatype) {
12558
12543
                                NDR_PULL_ALLOC(ndr, r->default_datatype);
12564
12549
                }
12565
12550
                {
12566
12551
                        uint32_t _flags_save_string_array = ndr->flags;
12567
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
12552
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
12568
12553
                        NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_previous_names));
12569
12554
                        if (_ptr_previous_names) {
12570
12555
                                NDR_PULL_ALLOC(ndr, r->previous_names);
12578
12563
                NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->driver_version));
12579
12564
                {
12580
12565
                        uint32_t _flags_save_string = ndr->flags;
12581
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
12566
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
12582
12567
                        NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_manufacturer_name));
12583
12568
                        if (_ptr_manufacturer_name) {
12584
12569
                                NDR_PULL_ALLOC(ndr, r->manufacturer_name);
12590
12575
                }
12591
12576
                {
12592
12577
                        uint32_t _flags_save_string = ndr->flags;
12593
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
12578
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
12594
12579
                        NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_manufacturer_url));
12595
12580
                        if (_ptr_manufacturer_url) {
12596
12581
                                NDR_PULL_ALLOC(ndr, r->manufacturer_url);
12602
12587
                }
12603
12588
                {
12604
12589
                        uint32_t _flags_save_string = ndr->flags;
12605
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
12590
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
12606
12591
                        NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_hardware_id));
12607
12592
                        if (_ptr_hardware_id) {
12608
12593
                                NDR_PULL_ALLOC(ndr, r->hardware_id);
12614
12599
                }
12615
12600
                {
12616
12601
                        uint32_t _flags_save_string = ndr->flags;
12617
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
12602
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
12618
12603
                        NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_provider));
12619
12604
                        if (_ptr_provider) {
12620
12605
                                NDR_PULL_ALLOC(ndr, r->provider);
12629
12614
        if (ndr_flags & NDR_BUFFERS) {
12630
12615
                {
12631
12616
                        uint32_t _flags_save_string = ndr->flags;
12632
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
12617
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
12633
12618
                        if (r->driver_name) {
12634
12619
                                uint32_t _relative_save_offset;
12635
12620
                                _relative_save_offset = ndr->offset;
12644
12629
                }
12645
12630
                {
12646
12631
                        uint32_t _flags_save_string = ndr->flags;
12647
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
12632
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
12648
12633
                        if (r->architecture) {
12649
12634
                                uint32_t _relative_save_offset;
12650
12635
                                _relative_save_offset = ndr->offset;
12659
12644
                }
12660
12645
                {
12661
12646
                        uint32_t _flags_save_string = ndr->flags;
12662
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
12647
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
12663
12648
                        if (r->driver_path) {
12664
12649
                                uint32_t _relative_save_offset;
12665
12650
                                _relative_save_offset = ndr->offset;
12674
12659
                }
12675
12660
                {
12676
12661
                        uint32_t _flags_save_string = ndr->flags;
12677
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
12662
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
12678
12663
                        if (r->data_file) {
12679
12664
                                uint32_t _relative_save_offset;
12680
12665
                                _relative_save_offset = ndr->offset;
12689
12674
                }
12690
12675
                {
12691
12676
                        uint32_t _flags_save_string = ndr->flags;
12692
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
12677
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
12693
12678
                        if (r->config_file) {
12694
12679
                                uint32_t _relative_save_offset;
12695
12680
                                _relative_save_offset = ndr->offset;
12704
12689
                }
12705
12690
                {
12706
12691
                        uint32_t _flags_save_string = ndr->flags;
12707
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
12692
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
12708
12693
                        if (r->help_file) {
12709
12694
                                uint32_t _relative_save_offset;
12710
12695
                                _relative_save_offset = ndr->offset;
12719
12704
                }
12720
12705
                {
12721
12706
                        uint32_t _flags_save_string_array = ndr->flags;
12722
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
12707
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
12723
12708
                        if (r->dependent_files) {
12724
12709
                                uint32_t _relative_save_offset;
12725
12710
                                _relative_save_offset = ndr->offset;
12734
12719
                }
12735
12720
                {
12736
12721
                        uint32_t _flags_save_string = ndr->flags;
12737
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
12722
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
12738
12723
                        if (r->monitor_name) {
12739
12724
                                uint32_t _relative_save_offset;
12740
12725
                                _relative_save_offset = ndr->offset;
12749
12734
                }
12750
12735
                {
12751
12736
                        uint32_t _flags_save_string = ndr->flags;
12752
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
12737
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
12753
12738
                        if (r->default_datatype) {
12754
12739
                                uint32_t _relative_save_offset;
12755
12740
                                _relative_save_offset = ndr->offset;
12764
12749
                }
12765
12750
                {
12766
12751
                        uint32_t _flags_save_string_array = ndr->flags;
12767
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
12752
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
12768
12753
                        if (r->previous_names) {
12769
12754
                                uint32_t _relative_save_offset;
12770
12755
                                _relative_save_offset = ndr->offset;
12779
12764
                }
12780
12765
                {
12781
12766
                        uint32_t _flags_save_string = ndr->flags;
12782
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
12767
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
12783
12768
                        if (r->manufacturer_name) {
12784
12769
                                uint32_t _relative_save_offset;
12785
12770
                                _relative_save_offset = ndr->offset;
12794
12779
                }
12795
12780
                {
12796
12781
                        uint32_t _flags_save_string = ndr->flags;
12797
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
12782
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
12798
12783
                        if (r->manufacturer_url) {
12799
12784
                                uint32_t _relative_save_offset;
12800
12785
                                _relative_save_offset = ndr->offset;
12809
12794
                }
12810
12795
                {
12811
12796
                        uint32_t _flags_save_string = ndr->flags;
12812
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
12797
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
12813
12798
                        if (r->hardware_id) {
12814
12799
                                uint32_t _relative_save_offset;
12815
12800
                                _relative_save_offset = ndr->offset;
12824
12809
                }
12825
12810
                {
12826
12811
                        uint32_t _flags_save_string = ndr->flags;
12827
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
12812
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
12828
12813
                        if (r->provider) {
12829
12814
                                uint32_t _relative_save_offset;
12830
12815
                                _relative_save_offset = ndr->offset;
12948
12933
                NDR_CHECK(ndr_push_spoolss_DriverOSVersion(ndr, NDR_SCALARS, r->version));
12949
12934
                {
12950
12935
                        uint32_t _flags_save_string = ndr->flags;
12951
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
12936
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
12952
12937
                        NDR_CHECK(ndr_push_relative_ptr1(ndr, r->driver_name));
12953
12938
                        ndr->flags = _flags_save_string;
12954
12939
                }
12955
12940
                {
12956
12941
                        uint32_t _flags_save_string = ndr->flags;
12957
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
12942
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
12958
12943
                        NDR_CHECK(ndr_push_relative_ptr1(ndr, r->inf_name));
12959
12944
                        ndr->flags = _flags_save_string;
12960
12945
                }
12961
12946
                {
12962
12947
                        uint32_t _flags_save_string = ndr->flags;
12963
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
12948
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
12964
12949
                        NDR_CHECK(ndr_push_relative_ptr1(ndr, r->install_source_root));
12965
12950
                        ndr->flags = _flags_save_string;
12966
12951
                }
12969
12954
        if (ndr_flags & NDR_BUFFERS) {
12970
12955
                {
12971
12956
                        uint32_t _flags_save_string = ndr->flags;
12972
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
12957
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
12973
12958
                        if (r->driver_name) {
12974
12959
                                NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->driver_name));
12975
12960
                                NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->driver_name));
12979
12964
                }
12980
12965
                {
12981
12966
                        uint32_t _flags_save_string = ndr->flags;
12982
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
12967
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
12983
12968
                        if (r->inf_name) {
12984
12969
                                NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->inf_name));
12985
12970
                                NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->inf_name));
12989
12974
                }
12990
12975
                {
12991
12976
                        uint32_t _flags_save_string = ndr->flags;
12992
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
12977
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
12993
12978
                        if (r->install_source_root) {
12994
12979
                                NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->install_source_root));
12995
12980
                                NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->install_source_root));
13015
13000
                NDR_CHECK(ndr_pull_spoolss_DriverOSVersion(ndr, NDR_SCALARS, &r->version));
13016
13001
                {
13017
13002
                        uint32_t _flags_save_string = ndr->flags;
13018
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
13003
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
13019
13004
                        NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_driver_name));
13020
13005
                        if (_ptr_driver_name) {
13021
13006
                                NDR_PULL_ALLOC(ndr, r->driver_name);
13027
13012
                }
13028
13013
                {
13029
13014
                        uint32_t _flags_save_string = ndr->flags;
13030
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
13015
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
13031
13016
                        NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_inf_name));
13032
13017
                        if (_ptr_inf_name) {
13033
13018
                                NDR_PULL_ALLOC(ndr, r->inf_name);
13039
13024
                }
13040
13025
                {
13041
13026
                        uint32_t _flags_save_string = ndr->flags;
13042
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
13027
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
13043
13028
                        NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_install_source_root));
13044
13029
                        if (_ptr_install_source_root) {
13045
13030
                                NDR_PULL_ALLOC(ndr, r->install_source_root);
13054
13039
        if (ndr_flags & NDR_BUFFERS) {
13055
13040
                {
13056
13041
                        uint32_t _flags_save_string = ndr->flags;
13057
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
13042
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
13058
13043
                        if (r->driver_name) {
13059
13044
                                uint32_t _relative_save_offset;
13060
13045
                                _relative_save_offset = ndr->offset;
13069
13054
                }
13070
13055
                {
13071
13056
                        uint32_t _flags_save_string = ndr->flags;
13072
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
13057
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
13073
13058
                        if (r->inf_name) {
13074
13059
                                uint32_t _relative_save_offset;
13075
13060
                                _relative_save_offset = ndr->offset;
13084
13069
                }
13085
13070
                {
13086
13071
                        uint32_t _flags_save_string = ndr->flags;
13087
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
13072
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
13088
13073
                        if (r->install_source_root) {
13089
13074
                                uint32_t _relative_save_offset;
13090
13075
                                _relative_save_offset = ndr->offset;
13140
13125
                NDR_CHECK(ndr_push_spoolss_DriverOSVersion(ndr, NDR_SCALARS, r->version));
13141
13126
                {
13142
13127
                        uint32_t _flags_save_string = ndr->flags;
13143
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
13128
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
13144
13129
                        NDR_CHECK(ndr_push_relative_ptr1(ndr, r->driver_name));
13145
13130
                        ndr->flags = _flags_save_string;
13146
13131
                }
13147
13132
                {
13148
13133
                        uint32_t _flags_save_string = ndr->flags;
13149
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
13134
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
13150
13135
                        NDR_CHECK(ndr_push_relative_ptr1(ndr, r->architecture));
13151
13136
                        ndr->flags = _flags_save_string;
13152
13137
                }
13153
13138
                {
13154
13139
                        uint32_t _flags_save_string = ndr->flags;
13155
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
13140
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
13156
13141
                        NDR_CHECK(ndr_push_relative_ptr1(ndr, r->driver_path));
13157
13142
                        ndr->flags = _flags_save_string;
13158
13143
                }
13159
13144
                {
13160
13145
                        uint32_t _flags_save_string = ndr->flags;
13161
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
13146
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
13162
13147
                        NDR_CHECK(ndr_push_relative_ptr1(ndr, r->data_file));
13163
13148
                        ndr->flags = _flags_save_string;
13164
13149
                }
13165
13150
                {
13166
13151
                        uint32_t _flags_save_string = ndr->flags;
13167
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
13152
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
13168
13153
                        NDR_CHECK(ndr_push_relative_ptr1(ndr, r->config_file));
13169
13154
                        ndr->flags = _flags_save_string;
13170
13155
                }
13171
13156
                {
13172
13157
                        uint32_t _flags_save_string = ndr->flags;
13173
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
13158
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
13174
13159
                        NDR_CHECK(ndr_push_relative_ptr1(ndr, r->help_file));
13175
13160
                        ndr->flags = _flags_save_string;
13176
13161
                }
13177
13162
                {
13178
13163
                        uint32_t _flags_save_string_array = ndr->flags;
13179
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
13164
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
13180
13165
                        NDR_CHECK(ndr_push_relative_ptr1(ndr, r->dependent_files));
13181
13166
                        ndr->flags = _flags_save_string_array;
13182
13167
                }
13183
13168
                {
13184
13169
                        uint32_t _flags_save_string = ndr->flags;
13185
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
13170
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
13186
13171
                        NDR_CHECK(ndr_push_relative_ptr1(ndr, r->monitor_name));
13187
13172
                        ndr->flags = _flags_save_string;
13188
13173
                }
13189
13174
                {
13190
13175
                        uint32_t _flags_save_string = ndr->flags;
13191
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
13176
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
13192
13177
                        NDR_CHECK(ndr_push_relative_ptr1(ndr, r->default_datatype));
13193
13178
                        ndr->flags = _flags_save_string;
13194
13179
                }
13195
13180
                {
13196
13181
                        uint32_t _flags_save_string_array = ndr->flags;
13197
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
13182
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
13198
13183
                        NDR_CHECK(ndr_push_relative_ptr1(ndr, r->previous_names));
13199
13184
                        ndr->flags = _flags_save_string_array;
13200
13185
                }
13202
13187
                NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->driver_version));
13203
13188
                {
13204
13189
                        uint32_t _flags_save_string = ndr->flags;
13205
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
13190
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
13206
13191
                        NDR_CHECK(ndr_push_relative_ptr1(ndr, r->manufacturer_name));
13207
13192
                        ndr->flags = _flags_save_string;
13208
13193
                }
13209
13194
                {
13210
13195
                        uint32_t _flags_save_string = ndr->flags;
13211
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
13196
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
13212
13197
                        NDR_CHECK(ndr_push_relative_ptr1(ndr, r->manufacturer_url));
13213
13198
                        ndr->flags = _flags_save_string;
13214
13199
                }
13215
13200
                {
13216
13201
                        uint32_t _flags_save_string = ndr->flags;
13217
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
13202
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
13218
13203
                        NDR_CHECK(ndr_push_relative_ptr1(ndr, r->hardware_id));
13219
13204
                        ndr->flags = _flags_save_string;
13220
13205
                }
13221
13206
                {
13222
13207
                        uint32_t _flags_save_string = ndr->flags;
13223
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
13208
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
13224
13209
                        NDR_CHECK(ndr_push_relative_ptr1(ndr, r->provider));
13225
13210
                        ndr->flags = _flags_save_string;
13226
13211
                }
13227
13212
                {
13228
13213
                        uint32_t _flags_save_string = ndr->flags;
13229
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
13214
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
13230
13215
                        NDR_CHECK(ndr_push_relative_ptr1(ndr, r->print_processor));
13231
13216
                        ndr->flags = _flags_save_string;
13232
13217
                }
13233
13218
                {
13234
13219
                        uint32_t _flags_save_string = ndr->flags;
13235
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
13220
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
13236
13221
                        NDR_CHECK(ndr_push_relative_ptr1(ndr, r->vendor_setup));
13237
13222
                        ndr->flags = _flags_save_string;
13238
13223
                }
13239
13224
                {
13240
13225
                        uint32_t _flags_save_string_array = ndr->flags;
13241
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
13226
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
13242
13227
                        NDR_CHECK(ndr_push_relative_ptr1(ndr, r->color_profiles));
13243
13228
                        ndr->flags = _flags_save_string_array;
13244
13229
                }
13245
13230
                {
13246
13231
                        uint32_t _flags_save_string = ndr->flags;
13247
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
13232
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
13248
13233
                        NDR_CHECK(ndr_push_relative_ptr1(ndr, r->inf_path));
13249
13234
                        ndr->flags = _flags_save_string;
13250
13235
                }
13251
13236
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->printer_driver_attributes));
13252
13237
                {
13253
13238
                        uint32_t _flags_save_string_array = ndr->flags;
13254
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
13239
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
13255
13240
                        NDR_CHECK(ndr_push_relative_ptr1(ndr, r->core_driver_dependencies));
13256
13241
                        ndr->flags = _flags_save_string_array;
13257
13242
                }
13262
13247
        if (ndr_flags & NDR_BUFFERS) {
13263
13248
                {
13264
13249
                        uint32_t _flags_save_string = ndr->flags;
13265
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
13250
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
13266
13251
                        if (r->driver_name) {
13267
13252
                                NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->driver_name));
13268
13253
                                NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->driver_name));
13272
13257
                }
13273
13258
                {
13274
13259
                        uint32_t _flags_save_string = ndr->flags;
13275
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
13260
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
13276
13261
                        if (r->architecture) {
13277
13262
                                NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->architecture));
13278
13263
                                NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->architecture));
13282
13267
                }
13283
13268
                {
13284
13269
                        uint32_t _flags_save_string = ndr->flags;
13285
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
13270
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
13286
13271
                        if (r->driver_path) {
13287
13272
                                NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->driver_path));
13288
13273
                                NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->driver_path));
13292
13277
                }
13293
13278
                {
13294
13279
                        uint32_t _flags_save_string = ndr->flags;
13295
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
13280
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
13296
13281
                        if (r->data_file) {
13297
13282
                                NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->data_file));
13298
13283
                                NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->data_file));
13302
13287
                }
13303
13288
                {
13304
13289
                        uint32_t _flags_save_string = ndr->flags;
13305
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
13290
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
13306
13291
                        if (r->config_file) {
13307
13292
                                NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->config_file));
13308
13293
                                NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->config_file));
13312
13297
                }
13313
13298
                {
13314
13299
                        uint32_t _flags_save_string = ndr->flags;
13315
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
13300
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
13316
13301
                        if (r->help_file) {
13317
13302
                                NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->help_file));
13318
13303
                                NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->help_file));
13322
13307
                }
13323
13308
                {
13324
13309
                        uint32_t _flags_save_string_array = ndr->flags;
13325
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
13310
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
13326
13311
                        if (r->dependent_files) {
13327
13312
                                NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->dependent_files));
13328
13313
                                NDR_CHECK(ndr_push_string_array(ndr, NDR_SCALARS, r->dependent_files));
13332
13317
                }
13333
13318
                {
13334
13319
                        uint32_t _flags_save_string = ndr->flags;
13335
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
13320
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
13336
13321
                        if (r->monitor_name) {
13337
13322
                                NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->monitor_name));
13338
13323
                                NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->monitor_name));
13342
13327
                }
13343
13328
                {
13344
13329
                        uint32_t _flags_save_string = ndr->flags;
13345
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
13330
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
13346
13331
                        if (r->default_datatype) {
13347
13332
                                NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->default_datatype));
13348
13333
                                NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->default_datatype));
13352
13337
                }
13353
13338
                {
13354
13339
                        uint32_t _flags_save_string_array = ndr->flags;
13355
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
13340
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
13356
13341
                        if (r->previous_names) {
13357
13342
                                NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->previous_names));
13358
13343
                                NDR_CHECK(ndr_push_string_array(ndr, NDR_SCALARS, r->previous_names));
13362
13347
                }
13363
13348
                {
13364
13349
                        uint32_t _flags_save_string = ndr->flags;
13365
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
13350
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
13366
13351
                        if (r->manufacturer_name) {
13367
13352
                                NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->manufacturer_name));
13368
13353
                                NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->manufacturer_name));
13372
13357
                }
13373
13358
                {
13374
13359
                        uint32_t _flags_save_string = ndr->flags;
13375
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
13360
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
13376
13361
                        if (r->manufacturer_url) {
13377
13362
                                NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->manufacturer_url));
13378
13363
                                NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->manufacturer_url));
13382
13367
                }
13383
13368
                {
13384
13369
                        uint32_t _flags_save_string = ndr->flags;
13385
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
13370
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
13386
13371
                        if (r->hardware_id) {
13387
13372
                                NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->hardware_id));
13388
13373
                                NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->hardware_id));
13392
13377
                }
13393
13378
                {
13394
13379
                        uint32_t _flags_save_string = ndr->flags;
13395
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
13380
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
13396
13381
                        if (r->provider) {
13397
13382
                                NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->provider));
13398
13383
                                NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->provider));
13402
13387
                }
13403
13388
                {
13404
13389
                        uint32_t _flags_save_string = ndr->flags;
13405
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
13390
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
13406
13391
                        if (r->print_processor) {
13407
13392
                                NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->print_processor));
13408
13393
                                NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->print_processor));
13412
13397
                }
13413
13398
                {
13414
13399
                        uint32_t _flags_save_string = ndr->flags;
13415
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
13400
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
13416
13401
                        if (r->vendor_setup) {
13417
13402
                                NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->vendor_setup));
13418
13403
                                NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->vendor_setup));
13422
13407
                }
13423
13408
                {
13424
13409
                        uint32_t _flags_save_string_array = ndr->flags;
13425
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
13410
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
13426
13411
                        if (r->color_profiles) {
13427
13412
                                NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->color_profiles));
13428
13413
                                NDR_CHECK(ndr_push_string_array(ndr, NDR_SCALARS, r->color_profiles));
13432
13417
                }
13433
13418
                {
13434
13419
                        uint32_t _flags_save_string = ndr->flags;
13435
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
13420
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
13436
13421
                        if (r->inf_path) {
13437
13422
                                NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->inf_path));
13438
13423
                                NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->inf_path));
13442
13427
                }
13443
13428
                {
13444
13429
                        uint32_t _flags_save_string_array = ndr->flags;
13445
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
13430
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
13446
13431
                        if (r->core_driver_dependencies) {
13447
13432
                                NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->core_driver_dependencies));
13448
13433
                                NDR_CHECK(ndr_push_string_array(ndr, NDR_SCALARS, r->core_driver_dependencies));
13499
13484
                NDR_CHECK(ndr_pull_spoolss_DriverOSVersion(ndr, NDR_SCALARS, &r->version));
13500
13485
                {
13501
13486
                        uint32_t _flags_save_string = ndr->flags;
13502
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
13487
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
13503
13488
                        NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_driver_name));
13504
13489
                        if (_ptr_driver_name) {
13505
13490
                                NDR_PULL_ALLOC(ndr, r->driver_name);
13511
13496
                }
13512
13497
                {
13513
13498
                        uint32_t _flags_save_string = ndr->flags;
13514
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
13499
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
13515
13500
                        NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_architecture));
13516
13501
                        if (_ptr_architecture) {
13517
13502
                                NDR_PULL_ALLOC(ndr, r->architecture);
13523
13508
                }
13524
13509
                {
13525
13510
                        uint32_t _flags_save_string = ndr->flags;
13526
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
13511
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
13527
13512
                        NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_driver_path));
13528
13513
                        if (_ptr_driver_path) {
13529
13514
                                NDR_PULL_ALLOC(ndr, r->driver_path);
13535
13520
                }
13536
13521
                {
13537
13522
                        uint32_t _flags_save_string = ndr->flags;
13538
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
13523
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
13539
13524
                        NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_data_file));
13540
13525
                        if (_ptr_data_file) {
13541
13526
                                NDR_PULL_ALLOC(ndr, r->data_file);
13547
13532
                }
13548
13533
                {
13549
13534
                        uint32_t _flags_save_string = ndr->flags;
13550
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
13535
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
13551
13536
                        NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_config_file));
13552
13537
                        if (_ptr_config_file) {
13553
13538
                                NDR_PULL_ALLOC(ndr, r->config_file);
13559
13544
                }
13560
13545
                {
13561
13546
                        uint32_t _flags_save_string = ndr->flags;
13562
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
13547
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
13563
13548
                        NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_help_file));
13564
13549
                        if (_ptr_help_file) {
13565
13550
                                NDR_PULL_ALLOC(ndr, r->help_file);
13571
13556
                }
13572
13557
                {
13573
13558
                        uint32_t _flags_save_string_array = ndr->flags;
13574
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
13559
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
13575
13560
                        NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dependent_files));
13576
13561
                        if (_ptr_dependent_files) {
13577
13562
                                NDR_PULL_ALLOC(ndr, r->dependent_files);
13583
13568
                }
13584
13569
                {
13585
13570
                        uint32_t _flags_save_string = ndr->flags;
13586
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
13571
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
13587
13572
                        NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_monitor_name));
13588
13573
                        if (_ptr_monitor_name) {
13589
13574
                                NDR_PULL_ALLOC(ndr, r->monitor_name);
13595
13580
                }
13596
13581
                {
13597
13582
                        uint32_t _flags_save_string = ndr->flags;
13598
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
13583
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
13599
13584
                        NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_default_datatype));
13600
13585
                        if (_ptr_default_datatype) {
13601
13586
                                NDR_PULL_ALLOC(ndr, r->default_datatype);
13607
13592
                }
13608
13593
                {
13609
13594
                        uint32_t _flags_save_string_array = ndr->flags;
13610
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
13595
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
13611
13596
                        NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_previous_names));
13612
13597
                        if (_ptr_previous_names) {
13613
13598
                                NDR_PULL_ALLOC(ndr, r->previous_names);
13621
13606
                NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->driver_version));
13622
13607
                {
13623
13608
                        uint32_t _flags_save_string = ndr->flags;
13624
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
13609
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
13625
13610
                        NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_manufacturer_name));
13626
13611
                        if (_ptr_manufacturer_name) {
13627
13612
                                NDR_PULL_ALLOC(ndr, r->manufacturer_name);
13633
13618
                }
13634
13619
                {
13635
13620
                        uint32_t _flags_save_string = ndr->flags;
13636
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
13621
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
13637
13622
                        NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_manufacturer_url));
13638
13623
                        if (_ptr_manufacturer_url) {
13639
13624
                                NDR_PULL_ALLOC(ndr, r->manufacturer_url);
13645
13630
                }
13646
13631
                {
13647
13632
                        uint32_t _flags_save_string = ndr->flags;
13648
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
13633
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
13649
13634
                        NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_hardware_id));
13650
13635
                        if (_ptr_hardware_id) {
13651
13636
                                NDR_PULL_ALLOC(ndr, r->hardware_id);
13657
13642
                }
13658
13643
                {
13659
13644
                        uint32_t _flags_save_string = ndr->flags;
13660
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
13645
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
13661
13646
                        NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_provider));
13662
13647
                        if (_ptr_provider) {
13663
13648
                                NDR_PULL_ALLOC(ndr, r->provider);
13669
13654
                }
13670
13655
                {
13671
13656
                        uint32_t _flags_save_string = ndr->flags;
13672
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
13657
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
13673
13658
                        NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_print_processor));
13674
13659
                        if (_ptr_print_processor) {
13675
13660
                                NDR_PULL_ALLOC(ndr, r->print_processor);
13681
13666
                }
13682
13667
                {
13683
13668
                        uint32_t _flags_save_string = ndr->flags;
13684
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
13669
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
13685
13670
                        NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_vendor_setup));
13686
13671
                        if (_ptr_vendor_setup) {
13687
13672
                                NDR_PULL_ALLOC(ndr, r->vendor_setup);
13693
13678
                }
13694
13679
                {
13695
13680
                        uint32_t _flags_save_string_array = ndr->flags;
13696
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
13681
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
13697
13682
                        NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_color_profiles));
13698
13683
                        if (_ptr_color_profiles) {
13699
13684
                                NDR_PULL_ALLOC(ndr, r->color_profiles);
13705
13690
                }
13706
13691
                {
13707
13692
                        uint32_t _flags_save_string = ndr->flags;
13708
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
13693
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
13709
13694
                        NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_inf_path));
13710
13695
                        if (_ptr_inf_path) {
13711
13696
                                NDR_PULL_ALLOC(ndr, r->inf_path);
13718
13703
                NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->printer_driver_attributes));
13719
13704
                {
13720
13705
                        uint32_t _flags_save_string_array = ndr->flags;
13721
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
13706
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
13722
13707
                        NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_core_driver_dependencies));
13723
13708
                        if (_ptr_core_driver_dependencies) {
13724
13709
                                NDR_PULL_ALLOC(ndr, r->core_driver_dependencies);
13735
13720
        if (ndr_flags & NDR_BUFFERS) {
13736
13721
                {
13737
13722
                        uint32_t _flags_save_string = ndr->flags;
13738
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
13723
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
13739
13724
                        if (r->driver_name) {
13740
13725
                                uint32_t _relative_save_offset;
13741
13726
                                _relative_save_offset = ndr->offset;
13750
13735
                }
13751
13736
                {
13752
13737
                        uint32_t _flags_save_string = ndr->flags;
13753
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
13738
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
13754
13739
                        if (r->architecture) {
13755
13740
                                uint32_t _relative_save_offset;
13756
13741
                                _relative_save_offset = ndr->offset;
13765
13750
                }
13766
13751
                {
13767
13752
                        uint32_t _flags_save_string = ndr->flags;
13768
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
13753
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
13769
13754
                        if (r->driver_path) {
13770
13755
                                uint32_t _relative_save_offset;
13771
13756
                                _relative_save_offset = ndr->offset;
13780
13765
                }
13781
13766
                {
13782
13767
                        uint32_t _flags_save_string = ndr->flags;
13783
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
13768
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
13784
13769
                        if (r->data_file) {
13785
13770
                                uint32_t _relative_save_offset;
13786
13771
                                _relative_save_offset = ndr->offset;
13795
13780
                }
13796
13781
                {
13797
13782
                        uint32_t _flags_save_string = ndr->flags;
13798
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
13783
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
13799
13784
                        if (r->config_file) {
13800
13785
                                uint32_t _relative_save_offset;
13801
13786
                                _relative_save_offset = ndr->offset;
13810
13795
                }
13811
13796
                {
13812
13797
                        uint32_t _flags_save_string = ndr->flags;
13813
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
13798
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
13814
13799
                        if (r->help_file) {
13815
13800
                                uint32_t _relative_save_offset;
13816
13801
                                _relative_save_offset = ndr->offset;
13825
13810
                }
13826
13811
                {
13827
13812
                        uint32_t _flags_save_string_array = ndr->flags;
13828
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
13813
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
13829
13814
                        if (r->dependent_files) {
13830
13815
                                uint32_t _relative_save_offset;
13831
13816
                                _relative_save_offset = ndr->offset;
13840
13825
                }
13841
13826
                {
13842
13827
                        uint32_t _flags_save_string = ndr->flags;
13843
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
13828
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
13844
13829
                        if (r->monitor_name) {
13845
13830
                                uint32_t _relative_save_offset;
13846
13831
                                _relative_save_offset = ndr->offset;
13855
13840
                }
13856
13841
                {
13857
13842
                        uint32_t _flags_save_string = ndr->flags;
13858
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
13843
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
13859
13844
                        if (r->default_datatype) {
13860
13845
                                uint32_t _relative_save_offset;
13861
13846
                                _relative_save_offset = ndr->offset;
13870
13855
                }
13871
13856
                {
13872
13857
                        uint32_t _flags_save_string_array = ndr->flags;
13873
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
13858
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
13874
13859
                        if (r->previous_names) {
13875
13860
                                uint32_t _relative_save_offset;
13876
13861
                                _relative_save_offset = ndr->offset;
13885
13870
                }
13886
13871
                {
13887
13872
                        uint32_t _flags_save_string = ndr->flags;
13888
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
13873
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
13889
13874
                        if (r->manufacturer_name) {
13890
13875
                                uint32_t _relative_save_offset;
13891
13876
                                _relative_save_offset = ndr->offset;
13900
13885
                }
13901
13886
                {
13902
13887
                        uint32_t _flags_save_string = ndr->flags;
13903
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
13888
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
13904
13889
                        if (r->manufacturer_url) {
13905
13890
                                uint32_t _relative_save_offset;
13906
13891
                                _relative_save_offset = ndr->offset;
13915
13900
                }
13916
13901
                {
13917
13902
                        uint32_t _flags_save_string = ndr->flags;
13918
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
13903
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
13919
13904
                        if (r->hardware_id) {
13920
13905
                                uint32_t _relative_save_offset;
13921
13906
                                _relative_save_offset = ndr->offset;
13930
13915
                }
13931
13916
                {
13932
13917
                        uint32_t _flags_save_string = ndr->flags;
13933
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
13918
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
13934
13919
                        if (r->provider) {
13935
13920
                                uint32_t _relative_save_offset;
13936
13921
                                _relative_save_offset = ndr->offset;
13945
13930
                }
13946
13931
                {
13947
13932
                        uint32_t _flags_save_string = ndr->flags;
13948
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
13933
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
13949
13934
                        if (r->print_processor) {
13950
13935
                                uint32_t _relative_save_offset;
13951
13936
                                _relative_save_offset = ndr->offset;
13960
13945
                }
13961
13946
                {
13962
13947
                        uint32_t _flags_save_string = ndr->flags;
13963
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
13948
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
13964
13949
                        if (r->vendor_setup) {
13965
13950
                                uint32_t _relative_save_offset;
13966
13951
                                _relative_save_offset = ndr->offset;
13975
13960
                }
13976
13961
                {
13977
13962
                        uint32_t _flags_save_string_array = ndr->flags;
13978
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
13963
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
13979
13964
                        if (r->color_profiles) {
13980
13965
                                uint32_t _relative_save_offset;
13981
13966
                                _relative_save_offset = ndr->offset;
13990
13975
                }
13991
13976
                {
13992
13977
                        uint32_t _flags_save_string = ndr->flags;
13993
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
13978
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
13994
13979
                        if (r->inf_path) {
13995
13980
                                uint32_t _relative_save_offset;
13996
13981
                                _relative_save_offset = ndr->offset;
14005
13990
                }
14006
13991
                {
14007
13992
                        uint32_t _flags_save_string_array = ndr->flags;
14008
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
13993
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
14009
13994
                        if (r->core_driver_dependencies) {
14010
13995
                                uint32_t _relative_save_offset;
14011
13996
                                _relative_save_offset = ndr->offset;
14188
14173
                NDR_CHECK(ndr_push_align(ndr, 5));
14189
14174
                {
14190
14175
                        uint32_t _flags_save_string = ndr->flags;
14191
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
14176
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
14192
14177
                        NDR_CHECK(ndr_push_relative_ptr1(ndr, r->file_name));
14193
14178
                        ndr->flags = _flags_save_string;
14194
14179
                }
14199
14184
        if (ndr_flags & NDR_BUFFERS) {
14200
14185
                {
14201
14186
                        uint32_t _flags_save_string = ndr->flags;
14202
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
14187
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
14203
14188
                        if (r->file_name) {
14204
14189
                                NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->file_name));
14205
14190
                                NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->file_name));
14219
14204
                NDR_CHECK(ndr_pull_align(ndr, 5));
14220
14205
                {
14221
14206
                        uint32_t _flags_save_string = ndr->flags;
14222
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
14207
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
14223
14208
                        NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_file_name));
14224
14209
                        if (_ptr_file_name) {
14225
14210
                                NDR_PULL_ALLOC(ndr, r->file_name);
14236
14221
        if (ndr_flags & NDR_BUFFERS) {
14237
14222
                {
14238
14223
                        uint32_t _flags_save_string = ndr->flags;
14239
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
14224
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
14240
14225
                        if (r->file_name) {
14241
14226
                                uint32_t _relative_save_offset;
14242
14227
                                _relative_save_offset = ndr->offset;
14659
14644
                NDR_CHECK(ndr_push_align(ndr, 4));
14660
14645
                {
14661
14646
                        uint32_t _flags_save_string = ndr->flags;
14662
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
14647
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
14663
14648
                        NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->directory_name));
14664
14649
                        ndr->flags = _flags_save_string;
14665
14650
                }
14676
14661
                NDR_CHECK(ndr_pull_align(ndr, 4));
14677
14662
                {
14678
14663
                        uint32_t _flags_save_string = ndr->flags;
14679
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
14664
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
14680
14665
                        NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->directory_name));
14681
14666
                        ndr->flags = _flags_save_string;
14682
14667
                }
14818
14803
                NDR_CHECK(ndr_push_align(ndr, 5));
14819
14804
                {
14820
14805
                        uint32_t _flags_save_string = ndr->flags;
14821
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
14806
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
14822
14807
                        NDR_CHECK(ndr_push_relative_ptr1(ndr, r->print_processor_name));
14823
14808
                        ndr->flags = _flags_save_string;
14824
14809
                }
14827
14812
        if (ndr_flags & NDR_BUFFERS) {
14828
14813
                {
14829
14814
                        uint32_t _flags_save_string = ndr->flags;
14830
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
14815
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
14831
14816
                        if (r->print_processor_name) {
14832
14817
                                NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->print_processor_name));
14833
14818
                                NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->print_processor_name));
14847
14832
                NDR_CHECK(ndr_pull_align(ndr, 5));
14848
14833
                {
14849
14834
                        uint32_t _flags_save_string = ndr->flags;
14850
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
14835
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
14851
14836
                        NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_print_processor_name));
14852
14837
                        if (_ptr_print_processor_name) {
14853
14838
                                NDR_PULL_ALLOC(ndr, r->print_processor_name);
14862
14847
        if (ndr_flags & NDR_BUFFERS) {
14863
14848
                {
14864
14849
                        uint32_t _flags_save_string = ndr->flags;
14865
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
14850
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
14866
14851
                        if (r->print_processor_name) {
14867
14852
                                uint32_t _relative_save_offset;
14868
14853
                                _relative_save_offset = ndr->offset;
15004
14989
                NDR_CHECK(ndr_push_align(ndr, 4));
15005
14990
                {
15006
14991
                        uint32_t _flags_save_string = ndr->flags;
15007
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
14992
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
15008
14993
                        NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->directory_name));
15009
14994
                        ndr->flags = _flags_save_string;
15010
14995
                }
15021
15006
                NDR_CHECK(ndr_pull_align(ndr, 4));
15022
15007
                {
15023
15008
                        uint32_t _flags_save_string = ndr->flags;
15024
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
15009
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
15025
15010
                        NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->directory_name));
15026
15011
                        ndr->flags = _flags_save_string;
15027
15012
                }
15427
15412
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 2));
15428
15413
                {
15429
15414
                        uint32_t _flags_save_string = ndr->flags;
15430
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
15415
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
15431
15416
                        {
15432
15417
                                struct ndr_push *_ndr_extra_string;
15433
15418
                                NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_extra_string, 0, 256));
15454
15439
                NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->platform_id));
15455
15440
                {
15456
15441
                        uint32_t _flags_save_string = ndr->flags;
15457
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
15442
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
15458
15443
                        {
15459
15444
                                struct ndr_pull *_ndr_extra_string;
15460
15445
                                NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_extra_string, 0, 256));
15499
15484
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 2));
15500
15485
                {
15501
15486
                        uint32_t _flags_save_string = ndr->flags;
15502
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
15487
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
15503
15488
                        {
15504
15489
                                struct ndr_push *_ndr_extra_string;
15505
15490
                                NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_extra_string, 0, 256));
15531
15516
                NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->platform_id));
15532
15517
                {
15533
15518
                        uint32_t _flags_save_string = ndr->flags;
15534
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
15519
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
15535
15520
                        {
15536
15521
                                struct ndr_pull *_ndr_extra_string;
15537
15522
                                NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_extra_string, 0, 256));
15587
15572
                        case REG_SZ: {
15588
15573
                                {
15589
15574
                                        uint32_t _flags_save_string = ndr->flags;
15590
 
                                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
15575
                                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
15591
15576
                                        NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->string));
15592
15577
                                        ndr->flags = _flags_save_string;
15593
15578
                                }
15609
15594
                        case REG_MULTI_SZ: {
15610
15595
                                {
15611
15596
                                        uint32_t _flags_save_string_array = ndr->flags;
15612
 
                                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
15597
                                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
15613
15598
                                        NDR_CHECK(ndr_push_string_array(ndr, NDR_SCALARS, r->string_array));
15614
15599
                                        ndr->flags = _flags_save_string_array;
15615
15600
                                }
15665
15650
                        case REG_SZ: {
15666
15651
                                {
15667
15652
                                        uint32_t _flags_save_string = ndr->flags;
15668
 
                                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
15653
                                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
15669
15654
                                        NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->string));
15670
15655
                                        ndr->flags = _flags_save_string;
15671
15656
                                }
15687
15672
                        case REG_MULTI_SZ: {
15688
15673
                                {
15689
15674
                                        uint32_t _flags_save_string_array = ndr->flags;
15690
 
                                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
15675
                                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
15691
15676
                                        NDR_CHECK(ndr_pull_string_array(ndr, NDR_SCALARS, &r->string_array));
15692
15677
                                        ndr->flags = _flags_save_string_array;
15693
15678
                                }
15870
15855
                NDR_CHECK(ndr_push_spoolss_FormFlags(ndr, NDR_SCALARS, r->flags));
15871
15856
                {
15872
15857
                        uint32_t _flags_save_string = ndr->flags;
15873
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
15858
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
15874
15859
                        NDR_CHECK(ndr_push_relative_ptr1(ndr, r->form_name));
15875
15860
                        ndr->flags = _flags_save_string;
15876
15861
                }
15881
15866
        if (ndr_flags & NDR_BUFFERS) {
15882
15867
                {
15883
15868
                        uint32_t _flags_save_string = ndr->flags;
15884
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
15869
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
15885
15870
                        if (r->form_name) {
15886
15871
                                NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->form_name));
15887
15872
                                NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->form_name));
15902
15887
                NDR_CHECK(ndr_pull_spoolss_FormFlags(ndr, NDR_SCALARS, &r->flags));
15903
15888
                {
15904
15889
                        uint32_t _flags_save_string = ndr->flags;
15905
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
15890
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
15906
15891
                        NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_form_name));
15907
15892
                        if (_ptr_form_name) {
15908
15893
                                NDR_PULL_ALLOC(ndr, r->form_name);
15919
15904
        if (ndr_flags & NDR_BUFFERS) {
15920
15905
                {
15921
15906
                        uint32_t _flags_save_string = ndr->flags;
15922
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
15907
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
15923
15908
                        if (r->form_name) {
15924
15909
                                uint32_t _relative_save_offset;
15925
15910
                                _relative_save_offset = ndr->offset;
15988
15973
                NDR_CHECK(ndr_push_spoolss_FormFlags(ndr, NDR_SCALARS, r->flags));
15989
15974
                {
15990
15975
                        uint32_t _flags_save_string = ndr->flags;
15991
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
15976
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
15992
15977
                        NDR_CHECK(ndr_push_relative_ptr1(ndr, r->form_name));
15993
15978
                        ndr->flags = _flags_save_string;
15994
15979
                }
16003
15988
                NDR_CHECK(ndr_push_spoolss_FormStringType(ndr, NDR_SCALARS, r->string_type));
16004
15989
                {
16005
15990
                        uint32_t _flags_save_string = ndr->flags;
16006
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
15991
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
16007
15992
                        NDR_CHECK(ndr_push_relative_ptr1(ndr, r->mui_dll));
16008
15993
                        ndr->flags = _flags_save_string;
16009
15994
                }
16010
15995
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->ressource_id));
16011
15996
                {
16012
15997
                        uint32_t _flags_save_string = ndr->flags;
16013
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
15998
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
16014
15999
                        NDR_CHECK(ndr_push_relative_ptr1(ndr, r->display_name));
16015
16000
                        ndr->flags = _flags_save_string;
16016
16001
                }
16021
16006
        if (ndr_flags & NDR_BUFFERS) {
16022
16007
                {
16023
16008
                        uint32_t _flags_save_string = ndr->flags;
16024
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
16009
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
16025
16010
                        if (r->form_name) {
16026
16011
                                NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->form_name));
16027
16012
                                NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->form_name));
16041
16026
                }
16042
16027
                {
16043
16028
                        uint32_t _flags_save_string = ndr->flags;
16044
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
16029
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
16045
16030
                        if (r->mui_dll) {
16046
16031
                                NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->mui_dll));
16047
16032
                                NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->mui_dll));
16051
16036
                }
16052
16037
                {
16053
16038
                        uint32_t _flags_save_string = ndr->flags;
16054
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
16039
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
16055
16040
                        if (r->display_name) {
16056
16041
                                NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->display_name));
16057
16042
                                NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->display_name));
16078
16063
                NDR_CHECK(ndr_pull_spoolss_FormFlags(ndr, NDR_SCALARS, &r->flags));
16079
16064
                {
16080
16065
                        uint32_t _flags_save_string = ndr->flags;
16081
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
16066
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
16082
16067
                        NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_form_name));
16083
16068
                        if (_ptr_form_name) {
16084
16069
                                NDR_PULL_ALLOC(ndr, r->form_name);
16105
16090
                NDR_CHECK(ndr_pull_spoolss_FormStringType(ndr, NDR_SCALARS, &r->string_type));
16106
16091
                {
16107
16092
                        uint32_t _flags_save_string = ndr->flags;
16108
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
16093
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
16109
16094
                        NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_mui_dll));
16110
16095
                        if (_ptr_mui_dll) {
16111
16096
                                NDR_PULL_ALLOC(ndr, r->mui_dll);
16118
16103
                NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->ressource_id));
16119
16104
                {
16120
16105
                        uint32_t _flags_save_string = ndr->flags;
16121
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
16106
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
16122
16107
                        NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_display_name));
16123
16108
                        if (_ptr_display_name) {
16124
16109
                                NDR_PULL_ALLOC(ndr, r->display_name);
16135
16120
        if (ndr_flags & NDR_BUFFERS) {
16136
16121
                {
16137
16122
                        uint32_t _flags_save_string = ndr->flags;
16138
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
16123
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
16139
16124
                        if (r->form_name) {
16140
16125
                                uint32_t _relative_save_offset;
16141
16126
                                _relative_save_offset = ndr->offset;
16165
16150
                }
16166
16151
                {
16167
16152
                        uint32_t _flags_save_string = ndr->flags;
16168
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
16153
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
16169
16154
                        if (r->mui_dll) {
16170
16155
                                uint32_t _relative_save_offset;
16171
16156
                                _relative_save_offset = ndr->offset;
16180
16165
                }
16181
16166
                {
16182
16167
                        uint32_t _flags_save_string = ndr->flags;
16183
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
16168
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
16184
16169
                        if (r->display_name) {
16185
16170
                                uint32_t _relative_save_offset;
16186
16171
                                _relative_save_offset = ndr->offset;
16762
16747
                NDR_CHECK(ndr_push_align(ndr, 5));
16763
16748
                {
16764
16749
                        uint32_t _flags_save_string = ndr->flags;
16765
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
16750
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
16766
16751
                        NDR_CHECK(ndr_push_relative_ptr1(ndr, r->port_name));
16767
16752
                        ndr->flags = _flags_save_string;
16768
16753
                }
16771
16756
        if (ndr_flags & NDR_BUFFERS) {
16772
16757
                {
16773
16758
                        uint32_t _flags_save_string = ndr->flags;
16774
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
16759
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
16775
16760
                        if (r->port_name) {
16776
16761
                                NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->port_name));
16777
16762
                                NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->port_name));
16791
16776
                NDR_CHECK(ndr_pull_align(ndr, 5));
16792
16777
                {
16793
16778
                        uint32_t _flags_save_string = ndr->flags;
16794
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
16779
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
16795
16780
                        NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_port_name));
16796
16781
                        if (_ptr_port_name) {
16797
16782
                                NDR_PULL_ALLOC(ndr, r->port_name);
16806
16791
        if (ndr_flags & NDR_BUFFERS) {
16807
16792
                {
16808
16793
                        uint32_t _flags_save_string = ndr->flags;
16809
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
16794
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
16810
16795
                        if (r->port_name) {
16811
16796
                                uint32_t _relative_save_offset;
16812
16797
                                _relative_save_offset = ndr->offset;
16872
16857
                NDR_CHECK(ndr_push_align(ndr, 5));
16873
16858
                {
16874
16859
                        uint32_t _flags_save_string = ndr->flags;
16875
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
16860
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
16876
16861
                        NDR_CHECK(ndr_push_relative_ptr1(ndr, r->port_name));
16877
16862
                        ndr->flags = _flags_save_string;
16878
16863
                }
16879
16864
                {
16880
16865
                        uint32_t _flags_save_string = ndr->flags;
16881
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
16866
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
16882
16867
                        NDR_CHECK(ndr_push_relative_ptr1(ndr, r->monitor_name));
16883
16868
                        ndr->flags = _flags_save_string;
16884
16869
                }
16885
16870
                {
16886
16871
                        uint32_t _flags_save_string = ndr->flags;
16887
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
16872
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
16888
16873
                        NDR_CHECK(ndr_push_relative_ptr1(ndr, r->description));
16889
16874
                        ndr->flags = _flags_save_string;
16890
16875
                }
16895
16880
        if (ndr_flags & NDR_BUFFERS) {
16896
16881
                {
16897
16882
                        uint32_t _flags_save_string = ndr->flags;
16898
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
16883
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
16899
16884
                        if (r->port_name) {
16900
16885
                                NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->port_name));
16901
16886
                                NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->port_name));
16905
16890
                }
16906
16891
                {
16907
16892
                        uint32_t _flags_save_string = ndr->flags;
16908
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
16893
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
16909
16894
                        if (r->monitor_name) {
16910
16895
                                NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->monitor_name));
16911
16896
                                NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->monitor_name));
16915
16900
                }
16916
16901
                {
16917
16902
                        uint32_t _flags_save_string = ndr->flags;
16918
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
16903
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
16919
16904
                        if (r->description) {
16920
16905
                                NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->description));
16921
16906
                                NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->description));
16939
16924
                NDR_CHECK(ndr_pull_align(ndr, 5));
16940
16925
                {
16941
16926
                        uint32_t _flags_save_string = ndr->flags;
16942
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
16927
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
16943
16928
                        NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_port_name));
16944
16929
                        if (_ptr_port_name) {
16945
16930
                                NDR_PULL_ALLOC(ndr, r->port_name);
16951
16936
                }
16952
16937
                {
16953
16938
                        uint32_t _flags_save_string = ndr->flags;
16954
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
16939
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
16955
16940
                        NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_monitor_name));
16956
16941
                        if (_ptr_monitor_name) {
16957
16942
                                NDR_PULL_ALLOC(ndr, r->monitor_name);
16963
16948
                }
16964
16949
                {
16965
16950
                        uint32_t _flags_save_string = ndr->flags;
16966
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
16951
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
16967
16952
                        NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_description));
16968
16953
                        if (_ptr_description) {
16969
16954
                                NDR_PULL_ALLOC(ndr, r->description);
16980
16965
        if (ndr_flags & NDR_BUFFERS) {
16981
16966
                {
16982
16967
                        uint32_t _flags_save_string = ndr->flags;
16983
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
16968
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
16984
16969
                        if (r->port_name) {
16985
16970
                                uint32_t _relative_save_offset;
16986
16971
                                _relative_save_offset = ndr->offset;
16995
16980
                }
16996
16981
                {
16997
16982
                        uint32_t _flags_save_string = ndr->flags;
16998
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
16983
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
16999
16984
                        if (r->monitor_name) {
17000
16985
                                uint32_t _relative_save_offset;
17001
16986
                                _relative_save_offset = ndr->offset;
17010
16995
                }
17011
16996
                {
17012
16997
                        uint32_t _flags_save_string = ndr->flags;
17013
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
16998
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
17014
16999
                        if (r->description) {
17015
17000
                                uint32_t _relative_save_offset;
17016
17001
                                _relative_save_offset = ndr->offset;
17128
17113
                NDR_CHECK(ndr_push_spoolss_PortStatus(ndr, NDR_SCALARS, r->status));
17129
17114
                {
17130
17115
                        uint32_t _flags_save_string = ndr->flags;
17131
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
17116
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
17132
17117
                        NDR_CHECK(ndr_push_relative_ptr1(ndr, r->status_string));
17133
17118
                        ndr->flags = _flags_save_string;
17134
17119
                }
17138
17123
        if (ndr_flags & NDR_BUFFERS) {
17139
17124
                {
17140
17125
                        uint32_t _flags_save_string = ndr->flags;
17141
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
17126
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
17142
17127
                        if (r->status_string) {
17143
17128
                                NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->status_string));
17144
17129
                                NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->status_string));
17159
17144
                NDR_CHECK(ndr_pull_spoolss_PortStatus(ndr, NDR_SCALARS, &r->status));
17160
17145
                {
17161
17146
                        uint32_t _flags_save_string = ndr->flags;
17162
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
17147
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
17163
17148
                        NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_status_string));
17164
17149
                        if (_ptr_status_string) {
17165
17150
                                NDR_PULL_ALLOC(ndr, r->status_string);
17175
17160
        if (ndr_flags & NDR_BUFFERS) {
17176
17161
                {
17177
17162
                        uint32_t _flags_save_string = ndr->flags;
17178
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
17163
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
17179
17164
                        if (r->status_string) {
17180
17165
                                uint32_t _relative_save_offset;
17181
17166
                                _relative_save_offset = ndr->offset;
17218
17203
                NDR_CHECK(ndr_push_align(ndr, 5));
17219
17204
                {
17220
17205
                        uint32_t _flags_save_string = ndr->flags;
17221
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
17206
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
17222
17207
                        NDR_CHECK(ndr_push_relative_ptr1(ndr, r->port_name));
17223
17208
                        ndr->flags = _flags_save_string;
17224
17209
                }
17228
17213
        if (ndr_flags & NDR_BUFFERS) {
17229
17214
                {
17230
17215
                        uint32_t _flags_save_string = ndr->flags;
17231
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
17216
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
17232
17217
                        if (r->port_name) {
17233
17218
                                NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->port_name));
17234
17219
                                NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->port_name));
17248
17233
                NDR_CHECK(ndr_pull_align(ndr, 5));
17249
17234
                {
17250
17235
                        uint32_t _flags_save_string = ndr->flags;
17251
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
17236
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
17252
17237
                        NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_port_name));
17253
17238
                        if (_ptr_port_name) {
17254
17239
                                NDR_PULL_ALLOC(ndr, r->port_name);
17264
17249
        if (ndr_flags & NDR_BUFFERS) {
17265
17250
                {
17266
17251
                        uint32_t _flags_save_string = ndr->flags;
17267
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
17252
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
17268
17253
                        if (r->port_name) {
17269
17254
                                uint32_t _relative_save_offset;
17270
17255
                                _relative_save_offset = ndr->offset;
17479
17464
                NDR_CHECK(ndr_push_align(ndr, 5));
17480
17465
                {
17481
17466
                        uint32_t _flags_save_string = ndr->flags;
17482
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
17467
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
17483
17468
                        NDR_CHECK(ndr_push_relative_ptr1(ndr, r->monitor_name));
17484
17469
                        ndr->flags = _flags_save_string;
17485
17470
                }
17488
17473
        if (ndr_flags & NDR_BUFFERS) {
17489
17474
                {
17490
17475
                        uint32_t _flags_save_string = ndr->flags;
17491
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
17476
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
17492
17477
                        if (r->monitor_name) {
17493
17478
                                NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->monitor_name));
17494
17479
                                NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->monitor_name));
17508
17493
                NDR_CHECK(ndr_pull_align(ndr, 5));
17509
17494
                {
17510
17495
                        uint32_t _flags_save_string = ndr->flags;
17511
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
17496
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
17512
17497
                        NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_monitor_name));
17513
17498
                        if (_ptr_monitor_name) {
17514
17499
                                NDR_PULL_ALLOC(ndr, r->monitor_name);
17523
17508
        if (ndr_flags & NDR_BUFFERS) {
17524
17509
                {
17525
17510
                        uint32_t _flags_save_string = ndr->flags;
17526
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
17511
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
17527
17512
                        if (r->monitor_name) {
17528
17513
                                uint32_t _relative_save_offset;
17529
17514
                                _relative_save_offset = ndr->offset;
17564
17549
                NDR_CHECK(ndr_push_align(ndr, 5));
17565
17550
                {
17566
17551
                        uint32_t _flags_save_string = ndr->flags;
17567
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
17552
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
17568
17553
                        NDR_CHECK(ndr_push_relative_ptr1(ndr, r->monitor_name));
17569
17554
                        ndr->flags = _flags_save_string;
17570
17555
                }
17571
17556
                {
17572
17557
                        uint32_t _flags_save_string = ndr->flags;
17573
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
17558
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
17574
17559
                        NDR_CHECK(ndr_push_relative_ptr1(ndr, r->environment));
17575
17560
                        ndr->flags = _flags_save_string;
17576
17561
                }
17577
17562
                {
17578
17563
                        uint32_t _flags_save_string = ndr->flags;
17579
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
17564
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
17580
17565
                        NDR_CHECK(ndr_push_relative_ptr1(ndr, r->dll_name));
17581
17566
                        ndr->flags = _flags_save_string;
17582
17567
                }
17585
17570
        if (ndr_flags & NDR_BUFFERS) {
17586
17571
                {
17587
17572
                        uint32_t _flags_save_string = ndr->flags;
17588
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
17573
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
17589
17574
                        if (r->monitor_name) {
17590
17575
                                NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->monitor_name));
17591
17576
                                NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->monitor_name));
17595
17580
                }
17596
17581
                {
17597
17582
                        uint32_t _flags_save_string = ndr->flags;
17598
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
17583
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
17599
17584
                        if (r->environment) {
17600
17585
                                NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->environment));
17601
17586
                                NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->environment));
17605
17590
                }
17606
17591
                {
17607
17592
                        uint32_t _flags_save_string = ndr->flags;
17608
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
17593
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
17609
17594
                        if (r->dll_name) {
17610
17595
                                NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->dll_name));
17611
17596
                                NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->dll_name));
17629
17614
                NDR_CHECK(ndr_pull_align(ndr, 5));
17630
17615
                {
17631
17616
                        uint32_t _flags_save_string = ndr->flags;
17632
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
17617
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
17633
17618
                        NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_monitor_name));
17634
17619
                        if (_ptr_monitor_name) {
17635
17620
                                NDR_PULL_ALLOC(ndr, r->monitor_name);
17641
17626
                }
17642
17627
                {
17643
17628
                        uint32_t _flags_save_string = ndr->flags;
17644
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
17629
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
17645
17630
                        NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_environment));
17646
17631
                        if (_ptr_environment) {
17647
17632
                                NDR_PULL_ALLOC(ndr, r->environment);
17653
17638
                }
17654
17639
                {
17655
17640
                        uint32_t _flags_save_string = ndr->flags;
17656
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
17641
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
17657
17642
                        NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dll_name));
17658
17643
                        if (_ptr_dll_name) {
17659
17644
                                NDR_PULL_ALLOC(ndr, r->dll_name);
17668
17653
        if (ndr_flags & NDR_BUFFERS) {
17669
17654
                {
17670
17655
                        uint32_t _flags_save_string = ndr->flags;
17671
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
17656
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
17672
17657
                        if (r->monitor_name) {
17673
17658
                                uint32_t _relative_save_offset;
17674
17659
                                _relative_save_offset = ndr->offset;
17683
17668
                }
17684
17669
                {
17685
17670
                        uint32_t _flags_save_string = ndr->flags;
17686
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
17671
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
17687
17672
                        if (r->environment) {
17688
17673
                                uint32_t _relative_save_offset;
17689
17674
                                _relative_save_offset = ndr->offset;
17698
17683
                }
17699
17684
                {
17700
17685
                        uint32_t _flags_save_string = ndr->flags;
17701
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
17686
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
17702
17687
                        if (r->dll_name) {
17703
17688
                                uint32_t _relative_save_offset;
17704
17689
                                _relative_save_offset = ndr->offset;
17876
17861
                NDR_CHECK(ndr_push_align(ndr, 5));
17877
17862
                {
17878
17863
                        uint32_t _flags_save_string = ndr->flags;
17879
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
17864
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
17880
17865
                        NDR_CHECK(ndr_push_relative_ptr1(ndr, r->name_array));
17881
17866
                        ndr->flags = _flags_save_string;
17882
17867
                }
17885
17870
        if (ndr_flags & NDR_BUFFERS) {
17886
17871
                {
17887
17872
                        uint32_t _flags_save_string = ndr->flags;
17888
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
17873
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
17889
17874
                        if (r->name_array) {
17890
17875
                                NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->name_array));
17891
17876
                                NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->name_array));
17905
17890
                NDR_CHECK(ndr_pull_align(ndr, 5));
17906
17891
                {
17907
17892
                        uint32_t _flags_save_string = ndr->flags;
17908
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
17893
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
17909
17894
                        NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_name_array));
17910
17895
                        if (_ptr_name_array) {
17911
17896
                                NDR_PULL_ALLOC(ndr, r->name_array);
17920
17905
        if (ndr_flags & NDR_BUFFERS) {
17921
17906
                {
17922
17907
                        uint32_t _flags_save_string = ndr->flags;
17923
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
17908
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
17924
17909
                        if (r->name_array) {
17925
17910
                                uint32_t _relative_save_offset;
17926
17911
                                _relative_save_offset = ndr->offset;
19526
19511
                NDR_CHECK(ndr_push_setup_relative_base_offset1(ndr, r, ndr->offset));
19527
19512
                {
19528
19513
                        uint32_t _flags_save_string = ndr->flags;
19529
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
19514
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
19530
19515
                        NDR_CHECK(ndr_push_relative_ptr1(ndr, r->value_name));
19531
19516
                        ndr->flags = _flags_save_string;
19532
19517
                }
19534
19519
                NDR_CHECK(ndr_push_winreg_Type(ndr, NDR_SCALARS, r->type));
19535
19520
                {
19536
19521
                        uint32_t _flags_save_DATA_BLOB = ndr->flags;
19537
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING);
 
19522
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING|ndr_spoolss_PrinterEnumValues_align(r->type));
19538
19523
                        NDR_CHECK(ndr_push_relative_ptr1(ndr, r->data));
19539
19524
                        ndr->flags = _flags_save_DATA_BLOB;
19540
19525
                }
19541
 
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->data->length));
 
19526
                NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->data?r->data->length:0));
19542
19527
                NDR_CHECK(ndr_push_trailer_align(ndr, 5));
19543
19528
        }
19544
19529
        if (ndr_flags & NDR_BUFFERS) {
19545
19530
                NDR_CHECK(ndr_push_setup_relative_base_offset2(ndr, r));
19546
19531
                {
19547
19532
                        uint32_t _flags_save_string = ndr->flags;
19548
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
19533
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
19549
19534
                        if (r->value_name) {
19550
19535
                                NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->value_name));
19551
19536
                                NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->value_name));
19555
19540
                }
19556
19541
                {
19557
19542
                        uint32_t _flags_save_DATA_BLOB = ndr->flags;
19558
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING);
 
19543
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING|ndr_spoolss_PrinterEnumValues_align(r->type));
19559
19544
                        if (r->data) {
19560
19545
                                NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->data));
19561
19546
                                {
19562
19547
                                        struct ndr_push *_ndr_data;
19563
 
                                        NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_data, 0, r->data->length));
 
19548
                                        NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_data, 0, r->data?r->data->length:0));
19564
19549
                                        NDR_CHECK(ndr_push_DATA_BLOB(_ndr_data, NDR_SCALARS, *r->data));
19565
 
                                        NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_data, 0, r->data->length));
 
19550
                                        NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_data, 0, r->data?r->data->length:0));
19566
19551
                                }
19567
19552
                                NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->data));
19568
19553
                        }
19585
19570
                NDR_CHECK(ndr_pull_setup_relative_base_offset1(ndr, r, ndr->offset));
19586
19571
                {
19587
19572
                        uint32_t _flags_save_string = ndr->flags;
19588
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
19573
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
19589
19574
                        NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_value_name));
19590
19575
                        if (_ptr_value_name) {
19591
19576
                                NDR_PULL_ALLOC(ndr, r->value_name);
19599
19584
                NDR_CHECK(ndr_pull_winreg_Type(ndr, NDR_SCALARS, &r->type));
19600
19585
                {
19601
19586
                        uint32_t _flags_save_DATA_BLOB = ndr->flags;
19602
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING);
 
19587
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING|ndr_spoolss_PrinterEnumValues_align(r->type));
19603
19588
                        NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_data));
19604
19589
                        if (_ptr_data) {
19605
19590
                                NDR_PULL_ALLOC(ndr, r->data);
19616
19601
                NDR_CHECK(ndr_pull_setup_relative_base_offset2(ndr, r));
19617
19602
                {
19618
19603
                        uint32_t _flags_save_string = ndr->flags;
19619
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
19604
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
19620
19605
                        if (r->value_name) {
19621
19606
                                uint32_t _relative_save_offset;
19622
19607
                                _relative_save_offset = ndr->offset;
19631
19616
                }
19632
19617
                {
19633
19618
                        uint32_t _flags_save_DATA_BLOB = ndr->flags;
19634
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING);
 
19619
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_REMAINING|ndr_spoolss_PrinterEnumValues_align(r->type));
19635
19620
                        if (r->data) {
19636
19621
                                uint32_t _relative_save_offset;
19637
19622
                                _relative_save_offset = ndr->offset;
19672
19657
                ndr_print_DATA_BLOB(ndr, "data", *r->data);
19673
19658
        }
19674
19659
        ndr->depth--;
19675
 
        ndr_print_uint32(ndr, "data_length", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?r->data->length:r->data_length);
 
19660
        ndr_print_uint32(ndr, "data_length", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?r->data?r->data->length:0:r->data_length);
19676
19661
        ndr->depth--;
19677
19662
}
19678
19663
 
19696
19681
                        default: {
19697
19682
                                {
19698
19683
                                        uint32_t _flags_save_string_array = ndr->flags;
19699
 
                                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
19684
                                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
19700
19685
                                        NDR_CHECK(ndr_push_string_array(ndr, NDR_SCALARS, r->string_array));
19701
19686
                                        ndr->flags = _flags_save_string_array;
19702
19687
                                }
19737
19722
                        default: {
19738
19723
                                {
19739
19724
                                        uint32_t _flags_save_string_array = ndr->flags;
19740
 
                                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
19725
                                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
19741
19726
                                        NDR_CHECK(ndr_pull_string_array(ndr, NDR_SCALARS, &r->string_array));
19742
19727
                                        ndr->flags = _flags_save_string_array;
19743
19728
                                }
19980
19965
                NDR_CHECK(ndr_push_align(ndr, 4));
19981
19966
                {
19982
19967
                        uint32_t _flags_save_string = ndr->flags;
19983
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
19968
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
19984
19969
                        NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->dll_name));
19985
19970
                        ndr->flags = _flags_save_string;
19986
19971
                }
19997
19982
                NDR_CHECK(ndr_pull_align(ndr, 4));
19998
19983
                {
19999
19984
                        uint32_t _flags_save_string = ndr->flags;
20000
 
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
 
19985
                        ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2);
20001
19986
                        NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->dll_name));
20002
19987
                        ndr->flags = _flags_save_string;
20003
19988
                }