1eda14cbcSMatt Macy /* 2eda14cbcSMatt Macy * CDDL HEADER START 3eda14cbcSMatt Macy * 4eda14cbcSMatt Macy * The contents of this file are subject to the terms of the 5eda14cbcSMatt Macy * Common Development and Distribution License (the "License"). 6eda14cbcSMatt Macy * You may not use this file except in compliance with the License. 7eda14cbcSMatt Macy * 8eda14cbcSMatt Macy * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 9eda14cbcSMatt Macy * or http://www.opensolaris.org/os/licensing. 10eda14cbcSMatt Macy * See the License for the specific language governing permissions 11eda14cbcSMatt Macy * and limitations under the License. 12eda14cbcSMatt Macy * 13eda14cbcSMatt Macy * When distributing Covered Code, include this CDDL HEADER in each 14eda14cbcSMatt Macy * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 15eda14cbcSMatt Macy * If applicable, add the following below this CDDL HEADER, with the 16eda14cbcSMatt Macy * fields enclosed by brackets "[]" replaced with your own identifying 17eda14cbcSMatt Macy * information: Portions Copyright [yyyy] [name of copyright owner] 18eda14cbcSMatt Macy * 19eda14cbcSMatt Macy * CDDL HEADER END 20eda14cbcSMatt Macy */ 21eda14cbcSMatt Macy 22eda14cbcSMatt Macy /* 23eda14cbcSMatt Macy * Copyright (c) 2020 by Delphix. All rights reserved. 24eda14cbcSMatt Macy */ 25eda14cbcSMatt Macy 26eda14cbcSMatt Macy #include <stdio.h> 27eda14cbcSMatt Macy #include <libshare.h> 28eda14cbcSMatt Macy #include "libshare_impl.h" 29eda14cbcSMatt Macy 30eda14cbcSMatt Macy /* 31eda14cbcSMatt Macy * Enables SMB sharing for the specified share. 32eda14cbcSMatt Macy */ 33eda14cbcSMatt Macy static int 34eda14cbcSMatt Macy smb_enable_share(sa_share_impl_t impl_share) 35eda14cbcSMatt Macy { 36c03c5b1cSMartin Matuska (void) impl_share; 37*716fd348SMartin Matuska fputs("No SMB support in FreeBSD yet.\n", stderr); 38eda14cbcSMatt Macy return (SA_NOT_SUPPORTED); 39eda14cbcSMatt Macy } 40eda14cbcSMatt Macy /* 41eda14cbcSMatt Macy * Disables SMB sharing for the specified share. 42eda14cbcSMatt Macy */ 43eda14cbcSMatt Macy static int 44eda14cbcSMatt Macy smb_disable_share(sa_share_impl_t impl_share) 45eda14cbcSMatt Macy { 46c03c5b1cSMartin Matuska (void) impl_share; 47*716fd348SMartin Matuska fputs("No SMB support in FreeBSD yet.\n", stderr); 48eda14cbcSMatt Macy return (SA_NOT_SUPPORTED); 49eda14cbcSMatt Macy } 50eda14cbcSMatt Macy 51eda14cbcSMatt Macy /* 52eda14cbcSMatt Macy * Checks whether the specified SMB share options are syntactically correct. 53eda14cbcSMatt Macy */ 54eda14cbcSMatt Macy static int 55eda14cbcSMatt Macy smb_validate_shareopts(const char *shareopts) 56eda14cbcSMatt Macy { 57c03c5b1cSMartin Matuska (void) shareopts; 58*716fd348SMartin Matuska fputs("No SMB support in FreeBSD yet.\n", stderr); 59eda14cbcSMatt Macy return (SA_NOT_SUPPORTED); 60eda14cbcSMatt Macy } 61eda14cbcSMatt Macy 62eda14cbcSMatt Macy /* 63eda14cbcSMatt Macy * Checks whether a share is currently active. 64eda14cbcSMatt Macy */ 65eda14cbcSMatt Macy static boolean_t 66eda14cbcSMatt Macy smb_is_share_active(sa_share_impl_t impl_share) 67eda14cbcSMatt Macy { 68c03c5b1cSMartin Matuska (void) impl_share; 69eda14cbcSMatt Macy return (B_FALSE); 70eda14cbcSMatt Macy } 71eda14cbcSMatt Macy 72eda14cbcSMatt Macy static int 73eda14cbcSMatt Macy smb_update_shares(void) 74eda14cbcSMatt Macy { 75eda14cbcSMatt Macy /* Not implemented */ 76eda14cbcSMatt Macy return (0); 77eda14cbcSMatt Macy } 78eda14cbcSMatt Macy 79*716fd348SMartin Matuska const sa_fstype_t libshare_smb_type = { 80eda14cbcSMatt Macy .enable_share = smb_enable_share, 81eda14cbcSMatt Macy .disable_share = smb_disable_share, 82eda14cbcSMatt Macy .is_shared = smb_is_share_active, 83eda14cbcSMatt Macy 84eda14cbcSMatt Macy .validate_shareopts = smb_validate_shareopts, 85eda14cbcSMatt Macy .commit_shares = smb_update_shares, 86eda14cbcSMatt Macy }; 87