diff --git a/graphics/Kconfig b/graphics/Kconfig index 3e95c2b6bd..074cc0ac73 100644 --- a/graphics/Kconfig +++ b/graphics/Kconfig @@ -721,4 +721,7 @@ config NXSTART_VPLANE endif # NX_NXSTART endif # NX_MULTIUSER + +source "graphics/vnc/Kconfig" + endif # NX diff --git a/graphics/Makefile b/graphics/Makefile index a811100232..f23072a75c 100644 --- a/graphics/Makefile +++ b/graphics/Makefile @@ -50,6 +50,7 @@ include nxbe/Make.defs include nxmu/Make.defs include nxsu/Make.defs include nxterm/Make.defs +include vnc/Make.defs AOBJS = $(ASRCS:.S=$(OBJEXT)) COBJS = $(CSRCS:.c=$(OBJEXT)) diff --git a/graphics/README.txt b/graphics/README.txt index ab24d090d6..3c61000cb1 100644 --- a/graphics/README.txt +++ b/graphics/README.txt @@ -112,6 +112,10 @@ nuttx/../NxWidgets The NxWidgets code is provided as a separate package located outside of the NuttX source tree (probably at this location). +graphics/vnc + The future home of the VNC Remote Frame Buffer (RFB) server and client + implementations. + Installing New Fonts ^^^^^^^^^^^^^^^^^^^^ @@ -295,6 +299,8 @@ CONFIG_NXTK_AUTORAISE CONFIG_NXFONTS_CHARBITS The number of bits in the character set. Current options are only 7 and 8. The default is 7. +CONFIG_VNCSERVER and CONFIG_VNCCLIENT + Enable the VNC RFB server and client, respecitively. Font Selections --------------- diff --git a/graphics/vnc/Kconfig b/graphics/vnc/Kconfig new file mode 100644 index 0000000000..fed2283d62 --- /dev/null +++ b/graphics/vnc/Kconfig @@ -0,0 +1,7 @@ +# +# For a description of the syntax of this configuration file, +# see the file kconfig-language.txt in the NuttX tools repository. +# + +source "graphics/vnc/server/Kconfig" +source "graphics/vnc/client/Kconfig" diff --git a/graphics/vnc/Make.defs b/graphics/vnc/Make.defs new file mode 100644 index 0000000000..cd9866723c --- /dev/null +++ b/graphics/vnc/Make.defs @@ -0,0 +1,37 @@ +############################################################################ +# graphics/vnc/Make.defs +# +# Copyright (C) 2016 Gregory Nutt. All rights reserved. +# Author: Gregory Nutt +# +# 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 NuttX 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 THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "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 THE +# COPYRIGHT OWNER OR CONTRIBUTORS 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. +# +############################################################################ + +include vnc/server/Make.defs +include vnc/client/Make.defs diff --git a/graphics/vnc/client/Kconfig b/graphics/vnc/client/Kconfig new file mode 100644 index 0000000000..212cb5cce8 --- /dev/null +++ b/graphics/vnc/client/Kconfig @@ -0,0 +1,15 @@ +# +# For a description of the syntax of this configuration file, +# see the file kconfig-language.txt in the NuttX tools repository. +# + +menuconfig VNCCLIENT + bool "VNC client" + default n + depends on NET_TCP && !NX_LCDDRIVER && !VNC_SERVER && EXPERIMENTAL + ---help--- + Enable support for a VNC Remote Frame Buffer (RFB) client + +if VNCCLIENT + +endif # VNCCLIENT diff --git a/graphics/vnc/client/Make.defs b/graphics/vnc/client/Make.defs new file mode 100644 index 0000000000..03d6f5b5ae --- /dev/null +++ b/graphics/vnc/client/Make.defs @@ -0,0 +1,42 @@ +############################################################################ +# graphics/vnc/client/Make.defs +# +# Copyright (C) 2016 Gregory Nutt. All rights reserved. +# Author: Gregory Nutt +# +# 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 NuttX 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 THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "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 THE +# COPYRIGHT OWNER OR CONTRIBUTORS 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. +# +############################################################################ + +ifeq ($(CONFIG_VNCCLIENT),y) + +DEPPATH += --dep-path vnc/client +CFLAGS += ${shell $(INCDIR) $(INCDIROPT) "$(CC)" $(TOPDIR)/graphics/vnc/client} +VPATH += :vnc/client + +endif diff --git a/graphics/vnc/server/Kconfig b/graphics/vnc/server/Kconfig new file mode 100644 index 0000000000..c688edf528 --- /dev/null +++ b/graphics/vnc/server/Kconfig @@ -0,0 +1,15 @@ +# +# For a description of the syntax of this configuration file, +# see the file kconfig-language.txt in the NuttX tools repository. +# + +menuconfig VNCSERVER + bool "VNC server" + default n + depends on NET_TCP && !NX_LCDDRIVER && EXPERIMENTAL + ---help--- + Enable support for a VNC Remote Frame Buffer (RFB) server. + +if VNCSERVER + +endif # VNCSERVER diff --git a/graphics/vnc/server/Make.defs b/graphics/vnc/server/Make.defs new file mode 100644 index 0000000000..6baa8b463b --- /dev/null +++ b/graphics/vnc/server/Make.defs @@ -0,0 +1,42 @@ +############################################################################ +# graphics/vnc/server/Make.defs +# +# Copyright (C) 2016 Gregory Nutt. All rights reserved. +# Author: Gregory Nutt +# +# 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 NuttX 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 THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "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 THE +# COPYRIGHT OWNER OR CONTRIBUTORS 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. +# +############################################################################ + +ifeq ($(CONFIG_VNCSERVER),y) + +DEPPATH += --dep-path vnc/server +CFLAGS += ${shell $(INCDIR) $(INCDIROPT) "$(CC)" $(TOPDIR)/graphics/vnc/server} +VPATH += :vnc/server + +endif