winegstreamer: Remove support for flushing the wg_parser object.
[wine.git] / dlls / msv1_0 / unixlib.h
blob7aee646ed505b36e738c77a8d8b5f166b15238ae
1 /*
2 * Copyright 2005, 2006 Kai Blin
3 * Copyright 2021 Hans Leidekker for CodeWeavers
5 * This library is free software; you can redistribute it and/or
6 * modify it under the terms of the GNU Lesser General Public
7 * License as published by the Free Software Foundation; either
8 * version 2.1 of the License, or (at your option) any later version.
10 * This library is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 * Lesser General Public License for more details.
15 * You should have received a copy of the GNU Lesser General Public
16 * License along with this library; if not, write to the Free Software
17 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
20 #include <sys/types.h>
22 #include "wine/unixlib.h"
24 enum sign_direction
26 SIGN_SEND,
27 SIGN_RECV,
30 enum mode
32 MODE_INVALID = -1,
33 MODE_CLIENT,
34 MODE_SERVER,
37 struct ntlm_cred
39 enum mode mode;
40 char *username_arg;
41 char *domain_arg;
42 char *password;
43 int password_len;
44 int no_cached_credentials; /* don't try to use cached Samba credentials */
47 struct arc4_info
49 char x;
50 char y;
51 char state[256];
54 #define FLAG_NEGOTIATE_SIGN 0x00000010
55 #define FLAG_NEGOTIATE_SEAL 0x00000020
56 #define FLAG_NEGOTIATE_ALWAYS_SIGN 0x00008000
57 #define FLAG_NEGOTIATE_NTLM2 0x00080000
58 #define FLAG_NEGOTIATE_KEY_EXCHANGE 0x40000000
60 typedef UINT64 com_buf_ptr;
62 struct ntlm_ctx
64 enum mode mode;
65 int pid;
66 unsigned int attrs;
67 int pipe_in;
68 int pipe_out;
69 char session_key[16];
70 unsigned int flags;
71 com_buf_ptr com_buf;
72 struct
74 struct
76 unsigned int seq_no;
77 struct arc4_info arc4info;
78 } ntlm;
79 struct
81 char send_sign_key[16];
82 char send_seal_key[16];
83 char recv_sign_key[16];
84 char recv_seal_key[16];
85 unsigned int send_seq_no;
86 unsigned int recv_seq_no;
87 struct arc4_info send_arc4info;
88 struct arc4_info recv_arc4info;
89 } ntlm2;
90 } crypt;
94 struct chat_params
96 struct ntlm_ctx *ctx;
97 char *buf;
98 unsigned int buflen;
99 unsigned int *retlen;
102 struct fork_params
104 struct ntlm_ctx *ctx;
105 char **argv;
108 enum ntlm_funcs
110 unix_chat,
111 unix_cleanup,
112 unix_fork,
113 unix_check_version,