+#if defined(HAVE_INLINE)
+INLINE void CE_SetMark (CodeEntry* E)
+/* Set the CEF_USERMARK flag for the given entry */
+{
+ E->Flags |= CEF_USERMARK;
+}
+#else
+# define CE_SetMark(E) ((E)->Flags |= CEF_USERMARK)
+#endif
+
+#if defined(HAVE_INLINE)
+INLINE void CE_ResetMark (CodeEntry* E)
+/* Reset the CEF_USERMARK flag for the given entry */
+{
+ E->Flags &= ~CEF_USERMARK;
+}
+#else
+# define CE_ResetMark(E) ((E)->Flags &= ~CEF_USERMARK)
+#endif
+
+void CE_SetNumArg (CodeEntry* E, long Num);
+/* Set a new numeric argument for the given code entry that must already
+ * have a numeric argument.
+ */
+
+int CE_KnownImm (const CodeEntry* E);
+/* Return true if the argument of E is a known immediate value */
+
+#if defined(HAVE_INLINE)
+INLINE int CE_IsCall (const CodeEntry* E, const char* Name)
+/* Check if this is a call to the given function */
+{
+ return (E->OPC == OP65_JSR && strcmp (E->Arg, Name) == 0);
+}
+#else
+# define CE_IsCall(E, Name) ((E)->OPC == OP65_JSR && strcmp ((E)->Arg, (Name)) == 0)
+#endif
+
+int CE_UseLoadFlags (const CodeEntry* E);
+/* Return true if the instruction uses any flags that are set by a load of
+ * a register (N and Z).
+ */
+
+void CE_FreeRegInfo (CodeEntry* E);
+/* Free an existing register info struct */
+
+void CE_GenRegInfo (CodeEntry* E, RegContents* InputRegs);
+/* Generate register info for this instruction. If an old info exists, it is
+ * overwritten.
+ */
+
+void CE_Output (const CodeEntry* E, FILE* F);