mirror of
				https://git.kernel.org/pub/scm/linux/kernel/git/chenhuacai/linux-loongson
				synced 2025-10-31 20:42:39 +00:00 
			
		
		
		
	 c32a162fd4
			
		
	
	
		c32a162fd4
		
	
	
	
	
		
			
			linux/time.h conflicts with time.h from glibc
It breaks building smbmount from samba.  It's regression introduced by
commit 76308da (" smb.h: uses struct timespec but didn't include
linux/time.h").
Signed-off-by: Kirill A. Shutemov <kirill@shutemov.name>
Cc: <stable@kernel.org>             [2.6.26.x]
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
		
	
			
		
			
				
	
	
		
			119 lines
		
	
	
		
			2.4 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			119 lines
		
	
	
		
			2.4 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
| /*
 | |
|  *  smb.h
 | |
|  *
 | |
|  *  Copyright (C) 1995, 1996 by Paal-Kr. Engstad and Volker Lendecke
 | |
|  *  Copyright (C) 1997 by Volker Lendecke
 | |
|  *
 | |
|  */
 | |
| 
 | |
| #ifndef _LINUX_SMB_H
 | |
| #define _LINUX_SMB_H
 | |
| 
 | |
| #include <linux/types.h>
 | |
| #include <linux/magic.h>
 | |
| #ifdef __KERNEL__
 | |
| #include <linux/time.h>
 | |
| #endif
 | |
| 
 | |
| enum smb_protocol { 
 | |
| 	SMB_PROTOCOL_NONE, 
 | |
| 	SMB_PROTOCOL_CORE, 
 | |
| 	SMB_PROTOCOL_COREPLUS, 
 | |
| 	SMB_PROTOCOL_LANMAN1, 
 | |
| 	SMB_PROTOCOL_LANMAN2, 
 | |
| 	SMB_PROTOCOL_NT1 
 | |
| };
 | |
| 
 | |
| enum smb_case_hndl {
 | |
| 	SMB_CASE_DEFAULT,
 | |
| 	SMB_CASE_LOWER,
 | |
| 	SMB_CASE_UPPER
 | |
| };
 | |
| 
 | |
| struct smb_dskattr {
 | |
|         __u16 total;
 | |
|         __u16 allocblocks;
 | |
|         __u16 blocksize;
 | |
|         __u16 free;
 | |
| };
 | |
| 
 | |
| struct smb_conn_opt {
 | |
| 
 | |
|         /* The socket */
 | |
| 	unsigned int fd;
 | |
| 
 | |
| 	enum smb_protocol protocol;
 | |
| 	enum smb_case_hndl case_handling;
 | |
| 
 | |
| 	/* Connection-Options */
 | |
| 
 | |
| 	__u32              max_xmit;
 | |
| 	__u16              server_uid;
 | |
| 	__u16              tid;
 | |
| 
 | |
|         /* The following are LANMAN 1.0 options */
 | |
|         __u16              secmode;
 | |
|         __u16              maxmux;
 | |
|         __u16              maxvcs;
 | |
|         __u16              rawmode;
 | |
|         __u32              sesskey;
 | |
| 
 | |
| 	/* The following are NT LM 0.12 options */
 | |
| 	__u32              maxraw;
 | |
| 	__u32              capabilities;
 | |
| 	__s16              serverzone;
 | |
| };
 | |
| 
 | |
| #ifdef __KERNEL__
 | |
| 
 | |
| #define SMB_NLS_MAXNAMELEN 20
 | |
| struct smb_nls_codepage {
 | |
| 	char local_name[SMB_NLS_MAXNAMELEN];
 | |
| 	char remote_name[SMB_NLS_MAXNAMELEN];
 | |
| };
 | |
| 
 | |
| 
 | |
| #define SMB_MAXNAMELEN 255
 | |
| #define SMB_MAXPATHLEN 1024
 | |
| 
 | |
| /*
 | |
|  * Contains all relevant data on a SMB networked file.
 | |
|  */
 | |
| struct smb_fattr {
 | |
| 	__u16 attr;
 | |
| 
 | |
| 	unsigned long	f_ino;
 | |
| 	umode_t		f_mode;
 | |
| 	nlink_t		f_nlink;
 | |
| 	uid_t		f_uid;
 | |
| 	gid_t		f_gid;
 | |
| 	dev_t		f_rdev;
 | |
| 	loff_t		f_size;
 | |
| 	struct timespec	f_atime;
 | |
| 	struct timespec f_mtime;
 | |
| 	struct timespec f_ctime;
 | |
| 	unsigned long	f_blocks;
 | |
| 	int		f_unix;
 | |
| };
 | |
| 
 | |
| enum smb_conn_state {
 | |
| 	CONN_VALID,		/* everything's fine */
 | |
| 	CONN_INVALID,		/* Something went wrong, but did not
 | |
| 				   try to reconnect yet. */
 | |
| 	CONN_RETRIED,		/* Tried a reconnection, but was refused */
 | |
| 	CONN_RETRYING		/* Currently trying to reconnect */
 | |
| };
 | |
| 
 | |
| #define SMB_HEADER_LEN   37     /* includes everything up to, but not
 | |
|                                  * including smb_bcc */
 | |
| 
 | |
| #define SMB_INITIAL_PACKET_SIZE		4000
 | |
| #define SMB_MAX_PACKET_SIZE		32768
 | |
| 
 | |
| /* reserve this much space for trans2 parameters. Shouldn't have to be more
 | |
|    than 10 or so, but OS/2 seems happier like this. */
 | |
| #define SMB_TRANS2_MAX_PARAM 64
 | |
| 
 | |
| #endif
 | |
| #endif
 |