Line data Source code
1 : /* 2 : * Unix SMB/CIFS implementation. 3 : * Samba internal messaging functions 4 : * Copyright (C) 2013 by Volker Lendecke 5 : * 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. 10 : * 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. 15 : * 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/>. 18 : */ 19 : 20 : #include "replace.h" 21 : #include "lib/util/server_id.h" 22 : #include "lib/util/samba_util.h" 23 : #include "librpc/gen_ndr/server_id.h" 24 : #include "lib/util/byteorder.h" 25 : #include "messages_util.h" 26 : 27 504873 : void message_hdr_put(uint8_t buf[MESSAGE_HDR_LENGTH], uint32_t msg_type, 28 : struct server_id src, struct server_id dst) 29 : { 30 504873 : server_id_put(buf, dst); 31 504873 : server_id_put(buf + SERVER_ID_BUF_LENGTH, src); 32 504873 : SIVAL(buf, 2 * SERVER_ID_BUF_LENGTH, msg_type); 33 504873 : } 34 : 35 447876 : void message_hdr_get(uint32_t *msg_type, struct server_id *src, 36 : struct server_id *dst, 37 : const uint8_t buf[MESSAGE_HDR_LENGTH]) 38 : { 39 447876 : server_id_get(dst, buf); 40 447876 : server_id_get(src, buf + SERVER_ID_BUF_LENGTH); 41 447876 : *msg_type = IVAL(buf, 2 * SERVER_ID_BUF_LENGTH); 42 447876 : }