# Refer to all C routines by their name prefixed by C_
useDynLib(utils, .registration = TRUE, .fixes = "C_")

export("?", .AtNames, .DollarNames, .S3methods, .romans, Rprof, Rprofmem,
       RShowDoc, RSiteSearch, URLdecode, URLencode, View, adist,
       alarm, apropos, aregexec, argsAnywhere, asDateBuilt, askYesNo,
       assignInMyNamespace, assignInNamespace, as.roman, as.person,
       as.personList, as.relistable, aspell, aspell_package_C_files,
       aspell_package_R_files, aspell_package_Rd_files,
       aspell_package_vignettes,
       aspell_write_personal_dictionary_file, available.packages,
       browseEnv, browseURL, browseVignettes, bug.report,
       capture.output, changedFiles, charClass, checkCRAN,
       chooseBioCmirror, chooseCRANmirror, citation, cite, citeNatbib,
       citEntry, citHeader, citFooter, close.socket, combn,
       compareVersion, contrib.url, count.fields, create.post, data,
       data.entry, dataentry, de, de.ncols, de.restore, de.setup,
       debugger, debugcall, demo, download.file, download.packages,
       dump.frames, edit, emacs, example, file_test, file.edit,
       fileSnapshot, find, findCRANmirror, findMatches, fix, fixInNamespace, findLineNum,
       flush.console, formatOL, formatUL, getAnywhere, getCRANmirrors,
       getFromNamespace, getParseData, getParseText, getS3method,
       getSrcDirectory, getSrcFilename, getSrcLocation, getSrcref,
       glob2rx, globalVariables, hasName, head, head.matrix, help,
       help.request, help.search, help.start, history,
       install.packages, installed.packages, is.relistable,
       isS3method, isS3stdGeneric, limitedLabels, loadhistory,
       localeToCharset, ls.str, lsf.str, maintainer,
       make.packages.html, make.socket, memory.limit, memory.size,
       menu, methods, mirror2html, modifyList, new.packages, news,
       object.size, old.packages, osVersion, package.skeleton,
       packageDate, packageDescription, packageName, packageVersion,
       packageStatus, page, person, personList, pico, process.events,
       prompt, promptData, promptImport, promptPackage, rc.getOption,
       rc.options, rc.settings, rc.status, readCitationFile, read.DIF,
       read.csv, read.csv2, read.delim, read.delim2, read.fwf,
       read.fortran, read.socket, read.table, recover, relist,
       remove.packages, removeSource, rtags, savehistory, select.list,
       sessionInfo, setBreakpoint, setRepositories, stack, str,
       strcapture, strOptions, summaryRprof, suppressForeignCheck,
       tail, tail.matrix, tar, timestamp, toBibtex, toLatex,
       type.convert, undebugcall, unstack, untar, unzip, ## update.packageStatus,
       update.packages, upgrade, url.show, vi, vignette, warnErrList,
       write.csv, write.csv2, write.socket, write.table, xedit,
       xemacs, zip)

export(txtProgressBar, getTxtProgressBar, setTxtProgressBar)

export("hsearch_db", "hsearch_db_concepts", "hsearch_db_keywords")

S3method("[", getAnywhere)
S3method("[", "news_db")
S3method("[", roman)
S3method(Ops, roman)
S3method(Summary, roman)
S3method(as.character, person)
S3method(as.character, roman)
S3method(as.person, default)
S3method(as.personList, default)
S3method(as.personList, person)
S3method(close, txtProgressBar)
S3method(edit, data.frame)
S3method(edit, default)
S3method(edit, matrix)
S3method(edit, vignette)
S3method(format, MethodsFunction)
S3method(format, "aspell")
S3method(format, "aspell_inspect_context")
S3method(format, "news_db")
S3method(format, "object_size")
S3method(format, "roman")
S3method(getRcode, vignette)
S3method(head, array)
S3method(head, data.frame, head.array)
S3method(head, default)
S3method(head, "function")
S3method(head, matrix)
S3method(head, ftable)
# S3method(head, table)
S3method(print, "aspell")
S3method(print, "aspell_inspect_context")
S3method(print, Bibtex)
S3method(print, changedFiles)
S3method(print, fileSnapshot)
S3method(print, findLineNumResult)
S3method(print, getAnywhere)
S3method(print, "help_files_with_topic")
S3method(print, hsearch)
S3method(print, "hsearch_db")
S3method(print, Latex)
S3method(print, "ls_str")
S3method(print, MethodsFunction)
S3method(print, "news_db")
S3method(print, "object_size")
S3method(print, packageDescription)
S3method(print, packageIQR)
S3method(print, packageStatus)
S3method(print, roman)
S3method(print, sessionInfo)
S3method(print, socket)
S3method(print, summary.packageStatus)
S3method(print, vignette)
S3method(print, browseVignettes)
S3method(prompt, data.frame)
S3method(prompt, default)
S3method(relist, default)
S3method(relist, factor)
S3method(relist, list)
S3method(relist, matrix)
S3method(rep, roman)
S3method(stack, data.frame)
S3method(stack, default)
S3method(str, POSIXt)
S3method(str, Date)
S3method(str, data.frame)
S3method(str, default)
S3method(subset, "news_db")
S3method(summary, aspell)
S3method(summary, packageStatus)
S3method(tail, array)
S3method(tail, data.frame, tail.array)
S3method(tail, default)
S3method(tail, "function")
S3method(tail, matrix)
S3method(tail, ftable)
S3method(tail, table, tail.array)
S3method(toBibtex, person)
S3method(toLatex, sessionInfo)
S3method(type.convert, default)
S3method(type.convert, list)
S3method(type.convert, data.frame)
S3method(unlist, relistable)
S3method(unstack, data.frame)
S3method(unstack, default)
S3method(upgrade, packageStatus)
## Cannot register update.packageStatus as update is in stats and would
## create a cycle, i.e., can NOT use anything from stats.
## Hence (at least for now) register in stats.

export("bibentry")
S3method("$", "bibentry")
S3method("$", "person")
S3method("$<-", "bibentry")
S3method("$<-", "citation")
S3method("$<-", "person")
S3method("[", "bibentry")
S3method("[", "person")
S3method("[[", "bibentry")
S3method("[[", "person")
S3method("as.data.frame", "bibentry")
S3method("as.data.frame", "person")
S3method("c", "bibentry")
S3method("c", "person")
S3method("format", "bibentry")
S3method("format", "citation")
S3method("format", "person")
S3method("print", "bibentry")
S3method("print", "citation")
S3method("print", "person")
S3method("rep", "bibentry")
S3method("sort", "bibentry")
S3method("toBibtex", "bibentry")
S3method("transform", "bibentry")
S3method("unique", "bibentry")

S3method(.DollarNames, default)
S3method(.DollarNames, list)
S3method(.DollarNames, environment)
S3method(.AtNames, default)

export(Rtangle, RtangleSetup, RweaveLatex, RweaveLatexSetup, Stangle,
       Sweave, SweaveSyntConv, SweaveSyntaxLatex, SweaveSyntaxNoweb,
       RtangleWritedoc, RweaveChunkPrefix, RweaveEvalWithOpt,
       RweaveTryStop, SweaveHooks, RweaveLatexWritedoc,
       RweaveLatexOptions, RweaveLatexFinish, RtangleFinish,
       .RtangleCodeLabel,
       makeRweaveLatexCodeRunner, RtangleRuncode)

if(tools:::.OStype() == "unix") {
export(nsl)
}

if(tools:::.OStype() == "windows") {
export(DLL.version, Filters, choose.dir, choose.files, getClipboardFormats,
       getIdentification, getWindowsHandle, getWindowsHandles, getWindowTitle,
       loadRconsole, readClipboard,
       readRegistry, setStatusBar, setWindowTitle, shortPathName,
       win.version, winDialog, winDialogString, winMenuAdd,
       winMenuAddItem, winMenuDel, winMenuDelItem, winMenuNames,
       winMenuItems, writeClipboard,
       winProgressBar, getWinProgressBar, setWinProgressBar,
       setInternet2, zip.unpack, ## defunct stub
       arrangeWindows)
S3method(close, winProgressBar)
}

export(hashtab, gethash, sethash, remhash, numhash, typhash,
       maphash, clrhash, is.hashtab)

S3method(print, hashtab)
S3method(format, hashtab)
S3method("[[", hashtab)
S3method("[[<-", hashtab)
S3method(length, hashtab)
S3method(as.environment, hashtab)
S3method(str, hashtab)
