1 /* 2 * CDDL HEADER START 3 * 4 * The contents of this file are subject to the terms of the 5 * Common Development and Distribution License, Version 1.0 only 6 * (the "License"). You may not use this file except in compliance 7 * with the License. 8 * 9 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 10 * or http://www.opensolaris.org/os/licensing. 11 * See the License for the specific language governing permissions 12 * and limitations under the License. 13 * 14 * When distributing Covered Code, include this CDDL HEADER in each 15 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 16 * If applicable, add the following below this CDDL HEADER, with the 17 * fields enclosed by brackets "[]" replaced with your own identifying 18 * information: Portions Copyright [yyyy] [name of copyright owner] 19 * 20 * CDDL HEADER END 21 */ 22 /* 23 * ident "%Z%%M% %I% %E% SMI" 24 * 25 * Copyright (c) 1998-2001 by Sun Microsystems, Inc. 26 * All rights reserved. 27 */ 28 29 package com.sun.dhcpmgr.bridge; 30 31 import java.util.Hashtable; 32 import com.sun.dhcpmgr.data.*; 33 34 /** 35 * Bridge supplies access to the native functions in libdhcp and the 36 * dhcpmgr shared object which actually interact with the data stores 37 * used by DHCP. 38 */ 39 40 public class Bridge { 41 public native DhcpDatastore getDataStore(String resource) 42 throws BridgeException; 43 public native DhcpDatastore [] getDataStores() throws BridgeException; 44 public native Option [] getInittabOptions(byte context) 45 throws BridgeException; 46 public native Macro getMacro(String key, DhcpDatastore datastore) 47 throws BridgeException; 48 public native Option getOption(String key, DhcpDatastore datastore) 49 throws BridgeException; 50 public native void createDhcptabRecord(DhcptabRecord rec, 51 DhcpDatastore datastore) throws BridgeException; 52 public native void modifyDhcptabRecord(DhcptabRecord oldRecord, 53 DhcptabRecord newRecord, DhcpDatastore datastore) 54 throws BridgeException; 55 public native void deleteDhcptabRecord(DhcptabRecord rec, 56 DhcpDatastore datastore) throws BridgeException; 57 public native void cvtDhcptab(DhcpDatastore datastore) 58 throws BridgeException; 59 public native Option createOption(String name, String value) 60 throws BridgeException; 61 public native Option [] getOptions(DhcpDatastore datastore) 62 throws BridgeException; 63 public native Macro [] getMacros(DhcpDatastore datastore) 64 throws BridgeException; 65 public native Network [] getNetworks(DhcpDatastore datastore) 66 throws BridgeException; 67 public native Network getNetwork(String network) 68 throws BridgeException; 69 public native void cvtNetwork(String table, 70 DhcpDatastore datastore) throws BridgeException; 71 public native DhcpClientRecord [] loadNetwork(String table, 72 DhcpDatastore datastore) throws BridgeException; 73 public native void createDhcpClientRecord(DhcpClientRecord rec, 74 String table, DhcpDatastore datastore) throws BridgeException; 75 public native void modifyDhcpClientRecord(DhcpClientRecord oldRecord, 76 DhcpClientRecord newRecord, String table, DhcpDatastore datastore) 77 throws BridgeException; 78 public native void deleteDhcpClientRecord(DhcpClientRecord rec, 79 String table, DhcpDatastore datastore) throws BridgeException; 80 public native DhcpClientRecord getDhcpClientRecord(DhcpClientRecord rec, 81 String table, DhcpDatastore datastore) throws BridgeException; 82 public native DhcpdOptions readDefaults() throws BridgeException; 83 public native void writeDefaults(DhcpdOptions defs) 84 throws BridgeException; 85 public native void removeDefaults() throws BridgeException; 86 public native void startup() throws BridgeException; 87 public native void shutdown() throws BridgeException; 88 public native void reload() throws BridgeException; 89 public native IPInterface [] getInterfaces() throws BridgeException; 90 public native String [] getArguments(String line) throws BridgeException; 91 public native String getStringOption(short code, String arg) 92 throws BridgeException; 93 public native IPAddress [] getIPOption(short code, String arg) 94 throws BridgeException; 95 public native long [] getNumberOption(short code, String arg) 96 throws BridgeException; 97 public native void createDhcptab(DhcpDatastore datastore) 98 throws BridgeException; 99 public native void deleteDhcptab(DhcpDatastore datastore) 100 throws BridgeException; 101 public native void createDhcpNetwork(String net, DhcpDatastore datastore) 102 throws BridgeException; 103 public native void deleteDhcpNetwork(String net, DhcpDatastore datastore) 104 throws BridgeException; 105 public native void makeLocation(DhcpDatastore datastore) 106 throws BridgeException; 107 public native boolean isServerRunning() throws BridgeException; 108 public native boolean isVersionCurrent() throws BridgeException; 109 static { 110 111 System.load("/usr/sadm/admin/dhcpmgr/dhcpmgr.so.1"); 112 } 113 }