diff options
author | Joe <rbo@gmx.us> | 2023-12-15 20:20:20 +0100 |
---|---|---|
committer | Joe <rbo@gmx.us> | 2023-12-15 20:20:20 +0100 |
commit | 02eadcbb8672b665661eb09ab50359a8c2bbb6e4 (patch) | |
tree | 55d6a10be78ac1d372fac0df6c7970022a95bdce /c_lhosts.go | |
parent | print (diff) | |
download | hardflip-02eadcbb8672b665661eb09ab50359a8c2bbb6e4.tar.gz hardflip-02eadcbb8672b665661eb09ab50359a8c2bbb6e4.tar.bz2 hardflip-02eadcbb8672b665661eb09ab50359a8c2bbb6e4.tar.xz hardflip-02eadcbb8672b665661eb09ab50359a8c2bbb6e4.tar.zst hardflip-02eadcbb8672b665661eb09ab50359a8c2bbb6e4.zip |
new stuff
Diffstat (limited to 'c_lhosts.go')
-rw-r--r-- | c_lhosts.go | 99 |
1 files changed, 99 insertions, 0 deletions
diff --git a/c_lhosts.go b/c_lhosts.go new file mode 100644 index 0000000..d2cb992 --- /dev/null +++ b/c_lhosts.go @@ -0,0 +1,99 @@ +/* + * ======================== + * ===== =============== + * ====== ================ + * ====== ================ + * ====== ==== ==== == + * ====== === == = = + * ====== === = == = + * = === === = == ==== + * = === === = == = = + * == ===== ==== == + * ======================== + * + * SPDX-License-Identifier: BSD-3-Clause + * + * Copyright (c) 2023 Joe + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the organization nor the + * names of its contributors may be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY JOE ''AS IS'' AND ANY + * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL JOE BE LIABLE FOR ANY + * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * josh: src/c_lhosts.go + * Fri, 15 Dec 2023 10:01:11 +0100 + * Joe + * + * the hosts linked list + */ + +package main + +// 0: ssh +// 1: rdp +type HostNode struct { + ID uint64 + Type int8 `yaml:"type"` + Host string `yaml:"host"` + Port uint16 `yaml:"port"` + User string `yaml:"user"` + Pass string `yaml:"pass"` + Jump string `yaml:"jump"` + Priv string `yaml:"priv"` + next *HostNode +} + +type HostList struct { + head *HostNode +} + +// adds a host node to the list +func (lhost *HostList) add_back(node *HostNode) { + new_node := node + + if lhost.head == nil { + lhost.head = new_node + return + } + curr := lhost.head + for curr.next != nil { + curr = curr.next + } + curr.next = new_node +} + +// removes a host node from the list +func (lhost *HostList) remove(id uint64) { + if lhost.head == nil { + return + } + if lhost.head.ID == id { + lhost.head = lhost.head.next + return + } + curr := lhost.head + for curr.next != nil && curr.next.ID != id { + curr = curr.next + } + if curr.next != nil { + curr.next = curr.next.next + } +} |