Github user mike-jumper commented on a diff in the pull request:
https://github.com/apache/guacamole-server/pull/197#discussion_r229825489
--- Diff: src/terminal/terminal/ansi_escape_codes.h ---
@@ -0,0 +1,197 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+
+#ifndef _GUAC_TERMINAL_ANSI_ESCAPE_CODES_H
+#define __GUAC_TERMINAL_ANSI_ESCAPE_CODES_H
+
+#include "config.h"
+
+/**
+ * The maximum number of parameters the CSI can have is 16.
+ */
+#define GUAC_TERMINAL_MAX_ARGUMENTS 16
+
+/**
+ * Erase entire screen and move cursor to upper left of ANSI.SYS.
+ */
+#define GUAC_TERMINAL_ERASE_DISPLAY 2
+
+/**
+ * Erase entire screen and delete all lines saved in the
+ * scrollback buffer.
+ */
+#define GUAC_TERMINAL_ERASE_SCROLLBACK 3
+
+/**
+ * The device status report(DSR) requests the terminal' operation
+ * stauts report. Always returns "CSI 0 n" (Terminal ready).
+ */
+#define GUAC_TERMINAL_DEVICE_STATUS_REPORT 5
+
+/**
+ * The cursor position report (CPR) reports the current cursor
+ * position to the application.
+ */
+#define GUAC_TERMINAL_CURSOR_POSITION_REPORT 6
+
+/**
+ * With the parameter '3' all tabstops are deleted.
--- End diff --
Please look through the documentation of this and the other new constants
and ask: if someone were to see this constant within the code, find this
header, and look up the documentation, would they then understand the constant?
This description is definitely an improvement from the last iteration, but
still assumes some hidden knowledge of the context of the constant's use. The
parameter of what? Is there a sequence that this particular value must be part
of to have the documented meaning?
---