2 * Unix SMB/CIFS implementation.
3 * RPC Pipe client / server routines
4 * Copyright (C) Guenther Deschner 2009.
6 * This program is free software; you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License as published by
8 * the Free Software Foundation; either version 3 of the License, or
9 * (at your option) any later version.
11 * This program is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 * GNU General Public License for more details.
16 * You should have received a copy of the GNU General Public License
17 * along with this program; if not, see <http://www.gnu.org/licenses/>.
22 /*******************************************************************
23 ********************************************************************/
25 bool init_systemtime(struct spoolss_Time
*r
,
28 if (!r
|| !unixtime
) {
32 r
->year
= unixtime
->tm_year
+1900;
33 r
->month
= unixtime
->tm_mon
+1;
34 r
->day_of_week
= unixtime
->tm_wday
;
35 r
->day
= unixtime
->tm_mday
;
36 r
->hour
= unixtime
->tm_hour
;
37 r
->minute
= unixtime
->tm_min
;
38 r
->second
= unixtime
->tm_sec
;
44 /*******************************************************************
45 ********************************************************************/
47 WERROR
pull_spoolss_PrinterData(TALLOC_CTX
*mem_ctx
,
48 const DATA_BLOB
*blob
,
49 union spoolss_PrinterData
*data
,
50 enum winreg_Type type
)
52 enum ndr_err_code ndr_err
;
53 ndr_err
= ndr_pull_union_blob(blob
, mem_ctx
, NULL
, data
, type
,
54 (ndr_pull_flags_fn_t
)ndr_pull_spoolss_PrinterData
);
55 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err
)) {
56 return WERR_GENERAL_FAILURE
;
61 /*******************************************************************
62 ********************************************************************/
64 WERROR
push_spoolss_PrinterData(TALLOC_CTX
*mem_ctx
, DATA_BLOB
*blob
,
65 enum winreg_Type type
,
66 union spoolss_PrinterData
*data
)
68 enum ndr_err_code ndr_err
;
69 ndr_err
= ndr_push_union_blob(blob
, mem_ctx
, NULL
, data
, type
,
70 (ndr_push_flags_fn_t
)ndr_push_spoolss_PrinterData
);
71 if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err
)) {
72 return WERR_GENERAL_FAILURE
;