2 * psql - the PostgreSQL interactive terminal
4 * Copyright (c) 2000-2021, PostgreSQL Global Development Group
6 * src/bin/psql/psqlscanslash.h
8 #ifndef PSQLSCANSLASH_H
9 #define PSQLSCANSLASH_H
11 #include "fe_utils/psqlscan.h"
14 /* Different ways for scan_slash_option to handle parameter words */
15 enum slash_option_type
17 OT_NORMAL
, /* normal case */
18 OT_SQLID
, /* treat as SQL identifier */
19 OT_SQLIDHACK
, /* SQL identifier, but don't downcase */
20 OT_FILEPIPE
, /* it's a filename or pipe */
21 OT_WHOLE_LINE
/* just snarf the rest of the line */
25 extern char *psql_scan_slash_command(PsqlScanState state
);
27 extern char *psql_scan_slash_option(PsqlScanState state
,
28 enum slash_option_type type
,
32 extern void psql_scan_slash_command_end(PsqlScanState state
);
34 extern int psql_scan_get_paren_depth(PsqlScanState state
);
36 extern void psql_scan_set_paren_depth(PsqlScanState state
, int depth
);
38 extern void dequote_downcase_identifier(char *str
, bool downcase
, int encoding
);
40 #endif /* PSQLSCANSLASH_H */