smb_ioctl.h revision 12b65585e720714b31036daaa2b30eb76014048e
/*
* CDDL HEADER START
*
* The contents of this file are subject to the terms of the
* Common Development and Distribution License (the "License").
* You may not use this file except in compliance with the License.
*
* You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
* See the License for the specific language governing permissions
* and limitations under the License.
*
* When distributing Covered Code, include this CDDL HEADER in each
* file and include the License file at usr/src/OPENSOLARIS.LICENSE.
* If applicable, add the following below this CDDL HEADER, with the
* fields enclosed by brackets "[]" replaced with your own identifying
* information: Portions Copyright [yyyy] [name of copyright owner]
*
* CDDL HEADER END
*/
/*
* Copyright 2013 Nexenta Systems, Inc. All rights reserved.
*/
#ifndef _SMB_IOCTL_H_
#define _SMB_IOCTL_H_
#ifdef __cplusplus
extern "C" {
#endif
typedef struct smb_ioc_header {
int cmd;
typedef struct smb_ioc_spooldoc {
char username[MAXNAMELEN];
char path[MAXPATHLEN];
typedef struct {
typedef struct smb_ioc_share {
char shr[1];
typedef struct smb_ioc_shareinfo {
char shrname[MAXNAMELEN];
typedef struct smb_ioc_start {
int opipe;
int lmshrd;
int udoor;
/* These are used only by libfksmbsrv */
void *opipe_func;
void *lmshr_func;
void *udoor_func;
typedef struct smb_ioc_event {
typedef struct smb_ioc_opennum {
char qualifier[MAXNAMELEN];
/*
* For enumeration, user and session are synonymous, as are
* connection and tree.
*/
typedef struct smb_svcenum {
typedef struct smb_ioc_svcenum {
typedef struct smb_ioc_session {
char client[MAXNAMELEN];
char username[MAXNAMELEN];
typedef struct smb_ioc_fileid {
/* See also: smb_kmod_cfg_t */
typedef struct smb_ioc_cfg {
/* SMB negotiate protocol response. */
char native_os[SMB_PI_MAX_NATIVE_OS];
char native_lm[SMB_PI_MAX_LANMAN];
char nbdomain[NETBIOS_NAME_SZ];
char fqdn[SMB_PI_MAX_DOMAIN];
char hostname[SMB_PI_MAX_HOST];
char system_comment[SMB_PI_MAX_COMMENT];
typedef union smb_ioc {
} smb_ioc_t;
/* fksmbd (init,open,close,ioctl) calls into libfksmbsrv */
int fksmbsrv_drv_open(void);
int fksmbsrv_drv_close(void);
void fksmbsrv_drv_load(void);
#ifdef __cplusplus
}
#endif
#endif /* _SMB_IOCTL_H_ */