CINXE.COM
wnsearch(3WN) | WordNet
<!DOCTYPE html> <html lang="en" dir="ltr" prefix="og: https://ogp.me/ns#"> <head> <meta charset="utf-8" /> <meta name="description" content="Name findtheinfo, findtheinfo_ds, is_defined, in_wn, index_lookup, parse_index, getindex, read_synset, parse_synset, free_syns, free_synset, free_index, traceptrs_ds, do_trace Synopsis #include "wn.h" char *findtheinfo(char *searchstr, int pos, int ptr_type, int sense_num); SynsetPtr findtheinfo_ds(char *searchstr, int pos, int ptr_type, int sense_" /> <link rel="canonical" href="https://wordnet.princeton.edu/documentation/wnsearch3wn" /> <meta property="og:site_name" content="WordNet" /> <meta property="og:type" content="article" /> <meta property="og:url" content="https://wordnet.princeton.edu/documentation/wnsearch3wn" /> <meta property="og:title" content="wnsearch(3WN)" /> <meta property="og:description" content="Name findtheinfo, findtheinfo_ds, is_defined, in_wn, index_lookup, parse_index, getindex, read_synset, parse_synset, free_syns, free_synset, free_index, traceptrs_ds, do_trace Synopsis #include "wn.h" char *findtheinfo(char *searchstr, int pos, int ptr_type, int sense_num); SynsetPtr findtheinfo_ds(char *searchstr, int pos, int ptr_type, int sense_" /> <meta name="twitter:card" content="summary_large_image" /> <meta name="Generator" content="Drupal 10 (https://www.drupal.org)" /> <meta name="MobileOptimized" content="width" /> <meta name="HandheldFriendly" content="true" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <link rel="icon" href="/profiles/ps/themes/ps_tiger/favicon.ico" type="image/vnd.microsoft.icon" /> <title>wnsearch(3WN) | WordNet</title> <link rel="stylesheet" media="all" href="/modules/contrib/linkpurpose/library/css/linkpurpose.css?soqhpq" /> <link rel="stylesheet" media="all" href="/themes/contrib/stable/css/system/components/align.module.css?soqhpq" /> <link rel="stylesheet" media="all" href="/themes/contrib/stable/css/system/components/fieldgroup.module.css?soqhpq" /> <link rel="stylesheet" media="all" href="/themes/contrib/stable/css/system/components/container-inline.module.css?soqhpq" /> <link rel="stylesheet" media="all" href="/themes/contrib/stable/css/system/components/clearfix.module.css?soqhpq" /> <link rel="stylesheet" media="all" href="/themes/contrib/stable/css/system/components/details.module.css?soqhpq" /> <link rel="stylesheet" media="all" href="/themes/contrib/stable/css/system/components/hidden.module.css?soqhpq" /> <link rel="stylesheet" media="all" href="/themes/contrib/stable/css/system/components/item-list.module.css?soqhpq" /> <link rel="stylesheet" media="all" href="/themes/contrib/stable/css/system/components/js.module.css?soqhpq" /> <link rel="stylesheet" media="all" href="/themes/contrib/stable/css/system/components/nowrap.module.css?soqhpq" /> <link rel="stylesheet" media="all" href="/themes/contrib/stable/css/system/components/position-container.module.css?soqhpq" /> <link rel="stylesheet" media="all" href="/themes/contrib/stable/css/system/components/reset-appearance.module.css?soqhpq" /> <link rel="stylesheet" media="all" href="/themes/contrib/stable/css/system/components/resize.module.css?soqhpq" /> <link rel="stylesheet" media="all" href="/themes/contrib/stable/css/system/components/system-status-counter.css?soqhpq" /> <link rel="stylesheet" media="all" href="/themes/contrib/stable/css/system/components/system-status-report-counters.css?soqhpq" /> <link rel="stylesheet" media="all" href="/themes/contrib/stable/css/system/components/system-status-report-general-info.css?soqhpq" /> <link rel="stylesheet" media="all" href="/themes/contrib/stable/css/system/components/tablesort.module.css?soqhpq" /> <link rel="stylesheet" media="all" href="/themes/contrib/stable/css/core/components/progress.module.css?soqhpq" /> <link rel="stylesheet" media="all" href="/themes/contrib/stable/css/core/components/ajax-progress.module.css?soqhpq" /> <link rel="stylesheet" media="all" href="/profiles/ps/libraries/custom/select2/dist/css/select2.css?soqhpq" /> <link rel="stylesheet" media="all" href="/profiles/ps/libraries/custom/select2/dist/css/select2-off-canvas.css?soqhpq" /> <link rel="stylesheet" media="all" href="/profiles/ps/modules/custom/select2_simple/css/select2_simple.css?soqhpq" /> <link rel="stylesheet" media="all" href="/profiles/ps/modules/custom/ps_core/css/global.css?soqhpq" /> <link rel="stylesheet" media="all" href="/profiles/ps/modules/custom/ps_core/layouts/threecol_33_34_33/threecol_33_34_33.css?soqhpq" /> <link rel="stylesheet" media="all" href="/core/modules/layout_discovery/layouts/onecol/onecol.css?soqhpq" /> <link rel="stylesheet" media="all" href="/themes/contrib/stable/css/core/assets/vendor/normalize-css/normalize.css?soqhpq" /> <link rel="stylesheet" media="all" href="/themes/contrib/stable/css/core/normalize-fixes.css?soqhpq" /> <link rel="stylesheet" media="all" href="/themes/contrib/classy/css/components/action-links.css?soqhpq" /> <link rel="stylesheet" media="all" href="/themes/contrib/classy/css/components/breadcrumb.css?soqhpq" /> <link rel="stylesheet" media="all" href="/themes/contrib/classy/css/components/button.css?soqhpq" /> <link rel="stylesheet" media="all" href="/themes/contrib/classy/css/components/collapse-processed.css?soqhpq" /> <link rel="stylesheet" media="all" href="/themes/contrib/classy/css/components/container-inline.css?soqhpq" /> <link rel="stylesheet" media="all" href="/themes/contrib/classy/css/components/details.css?soqhpq" /> <link rel="stylesheet" media="all" href="/themes/contrib/classy/css/components/exposed-filters.css?soqhpq" /> <link rel="stylesheet" media="all" href="/themes/contrib/classy/css/components/field.css?soqhpq" /> <link rel="stylesheet" media="all" href="/themes/contrib/classy/css/components/form.css?soqhpq" /> <link rel="stylesheet" media="all" href="/themes/contrib/classy/css/components/icons.css?soqhpq" /> <link rel="stylesheet" media="all" href="/themes/contrib/classy/css/components/inline-form.css?soqhpq" /> <link rel="stylesheet" media="all" href="/themes/contrib/classy/css/components/item-list.css?soqhpq" /> <link rel="stylesheet" media="all" href="/themes/contrib/classy/css/components/link.css?soqhpq" /> <link rel="stylesheet" media="all" href="/themes/contrib/classy/css/components/links.css?soqhpq" /> <link rel="stylesheet" media="all" href="/themes/contrib/classy/css/components/menu.css?soqhpq" /> <link rel="stylesheet" media="all" href="/themes/contrib/classy/css/components/more-link.css?soqhpq" /> <link rel="stylesheet" media="all" href="/themes/contrib/classy/css/components/pager.css?soqhpq" /> <link rel="stylesheet" media="all" href="/themes/contrib/classy/css/components/tabledrag.css?soqhpq" /> <link rel="stylesheet" media="all" href="/themes/contrib/classy/css/components/tableselect.css?soqhpq" /> <link rel="stylesheet" media="all" href="/themes/contrib/classy/css/components/tablesort.css?soqhpq" /> <link rel="stylesheet" media="all" href="/themes/contrib/classy/css/components/tabs.css?soqhpq" /> <link rel="stylesheet" media="all" href="/themes/contrib/classy/css/components/textarea.css?soqhpq" /> <link rel="stylesheet" media="all" href="/themes/contrib/classy/css/components/ui-dialog.css?soqhpq" /> <link rel="stylesheet" media="all" href="/themes/contrib/classy/css/components/messages.css?soqhpq" /> <link rel="stylesheet" media="all" href="/themes/contrib/classy/css/components/progress.css?soqhpq" /> <link rel="stylesheet" media="all" href="/themes/contrib/classy/css/components/node.css?soqhpq" /> <link rel="stylesheet" media="all" href="/profiles/ps/themes/ps_base/bootstrap/css/bootstrap.min.css?soqhpq" /> <link rel="stylesheet" media="all" href="/profiles/ps/themes/ps_base/css/styles.css?soqhpq" /> <link rel="stylesheet" media="all" href="/profiles/ps/themes/ps_tiger/css/styles.css?soqhpq" /> <link rel="stylesheet" media="all" href="//use.typekit.net/xxx7asp.css" /> <link rel="stylesheet" media="all" href="//use.typekit.net/bok5fgz.css" /> <script type="application/json" data-drupal-selector="drupal-settings-json">{"path":{"baseUrl":"\/","pathPrefix":"","currentPath":"node\/41","currentPathIsAdmin":false,"isFront":false,"currentLanguage":"en"},"pluralDelimiter":"\u0003","suppressDeprecationErrors":true,"gtag":{"tagId":"UA-115035814-1","consentMode":false,"otherIds":["G-1GCMYCJGED"],"events":[],"additionalConfigInfo":{"cookie_domain":"none"}},"ajaxPageState":{"libraries":"eJxlUtFuwyAM_CFapGb_gxziAqvBEYao6dcP0i7Nugcs39nynS0sgciqRxBU9plHFAGH8osTT63GGfWU6wx0vnKOTyK1DCg8UDlmR2gKOO1a-MRn-Ia7Ili5FjMFsbxgXjUntEyKQrrNNc8sqEMKRc1iuiM9Mt9OkadKuHMRUz1h8pAs5s7aG06hcDYWiNp8_UlsTd1u0yKYpdnCezGCkK1veY5iMi4I9Br46q0xyY5fipO5sq1vekMwtlU9iDfXcD_McMQj0A77mmZED0vgdxOx60fZilUwJ4i4F_949MF5aq8cJIrP2G9ohsEMXy32SgkOc7OWimC5_GMOPU-HJylr03dKkNCWi5EQZ-rqR6hklYJx-ys_etbc4w","theme":"ps_tiger","theme_token":null},"ajaxTrustedUrl":[],"linkpurpose":{"domain":"https:\/\/wordnet.princeton.edu","ignore":"#toolbar-administration a, .princeton-branding a, .copyright a, .block-ps-social a","noIconOnImages":true,"purposeDocument":true,"purposeDocumentMessage":"Link downloads document","purposeDownload":true,"purposeDownloadMessage":"Link downloads file","purposeApp":true,"purposeAppMessage":"Link opens app","purposeExternal":true,"purposeExternalMessage":"Link is external","purposeMail":true,"purposeMailMessage":"Link sends email","purposeTel":true,"purposeTelMessage":"Link opens phone app","purposeNewWindow":true,"purposeNewWindowMessage":"Link opens in new window","css_url":"\/modules\/contrib\/linkpurpose"},"all_documents_new_window":false,"select2_simple":{"selector":".node-form select:not(.disable-select2,[name$=\u0027[actions][bundle]\u0027],.ui-timepicker-select,[name*=\u0027field_ps_timeline_feature_items\u0027]),.select2-form select[multiple],form.layout-builder-configure-block select[multiple]"},"user":{"uid":0,"permissionsHash":"93bb85c64333532c1bf90b6198d770863dddcf6216dbc56ba0244eb621d83f0a"}}</script> <script src="/core/misc/drupalSettingsLoader.js?v=10.3.10"></script> <script src="/modules/contrib/google_tag/js/gtag.js?soqhpq"></script> </head> <body class="not-front section-documentation page-node-41 content-type-ps-basic-page flavor2 fontset1 menu5 layout-block-padding-medium layout-above-section-spacing-none layout-below-section-spacing-none"> <div class="dialog-off-canvas-main-canvas" data-off-canvas-main-canvas> <div class="page page-container"> <header role="banner" class="header region region-header" id="header"> <h1 class="sr-only sr-site-name">WordNet A Lexical Database for English</h1> <div class="skip-links"> <a href="#main-content" class="sr-only sr-only-focusable"><span class="hide-on-focus">Off screen link: </span>Skip to content</a> <a href="#edit-search-keys" class="sr-only sr-only-focusable"><span class="hide-on-focus">Off screen link: </span>Skip to search</a> </div> <div class="header-container container"> <div class="princeton-branding"> <div class="container"> <a href="http://www.princeton.edu" class="pu-logo" title="Princeton University"> <img src="/profiles/ps/themes/ps_base/images/pu-logo.svg" alt="Princeton University"/> </a> </div> </div> <div class="site-branding"> <div class="container"> <div class="row"> <div class="site-info with-slogan with-slogan-suffix"> <div class="site-name"> <a href="/" title="Home" rel="home">WordNet</a> </div> <div class="site-slogan"> A Lexical Database for English </div> </div> </div> </div> </div> <nav aria-label="site" class="main-menu"> <h2 class="sr-only">Main Menu</h2> <div class="container navbar-expand-lg"> <button class="toggle-mobile-menu unbutton" type="button" data-toggle="collapse" data-target="#menu-container" aria-controls="menu-container" aria-expanded="false" aria-label="Toggle navigation"> <span class="toggle-mobile-menu-icon"> <span class="toggle-mobile-menu-title">Menu</span> <i class="fa fa-bars" aria-hidden="true"></i> </span> </button> <div id="menu-container" class="collapse navbar-collapse"> <ul class="nav navbar-nav main" role="list"> <li class="nav-item"> <a href="/" data-drupal-link-system-path="<front>">What is WordNet</a> </li> <li class="nav-item expanded"> <a href="/people" data-drupal-link-system-path="node/42">People</a> <button class="toggle-submenu unbutton" type="button" data-toggle="collapse" aria-expanded="false"> <span class="toggle-submenu-icon"> <i class="fa-solid fa-plus" aria-hidden="true"></i> </span> <span class="sr-only">Submenu</span> </button> <ul class="submenu collapse" role="list"> <li class="submenu-item"> <a href="/people/george-miller" data-drupal-link-system-path="node/1">George A. Miller</a> </li> </ul> </li> <li class="nav-item"> <a href="/news-0" data-drupal-link-system-path="node/4">News</a> </li> <li class="nav-item"> <a href="/download" data-drupal-link-system-path="node/5">Use Wordnet Online</a> </li> <li class="nav-item expanded"> <a href="/download" data-drupal-link-system-path="node/5">Download</a> <button class="toggle-submenu unbutton" type="button" data-toggle="collapse" aria-expanded="false"> <span class="toggle-submenu-icon"> <i class="fa-solid fa-plus" aria-hidden="true"></i> </span> <span class="sr-only">Submenu</span> </button> <ul class="submenu collapse" role="list"> <li class="submenu-item"> <a href="/download/current-version" data-drupal-link-system-path="node/6">Current Version</a> </li> <li class="submenu-item"> <a href="/download/old-versions" data-drupal-link-system-path="node/8">Old Versions</a> </li> <li class="submenu-item"> <a href="/download/standoff-files" data-drupal-link-system-path="node/7">Standoff Files</a> </li> </ul> </li> <li class="nav-item"> <a href="/citing-wordnet" data-drupal-link-system-path="node/9">Citing WordNet</a> </li> <li class="nav-item"> <a href="/license-and-commercial-use" data-drupal-link-system-path="node/10">License and Commercial Use</a> </li> <li class="nav-item"> <a href="/related-projects" data-drupal-link-system-path="node/11">Related Projects</a> </li> <li class="nav-item expanded active"> <a href="/documentation" data-drupal-link-system-path="node/12">Documentation</a> <button class="toggle-submenu unbutton" type="button" data-toggle="collapse" aria-expanded="false"> <span class="toggle-submenu-icon"> <i class="fa-solid fa-plus" aria-hidden="true"></i> </span> <span class="sr-only">Submenu</span> </button> <ul class="submenu collapse submenu--2-col" role="list"> <li class="submenu-item"> <a href="/documentation/binsrch3wn" data-drupal-link-system-path="node/15">binsrch(3WN)</a> </li> <li class="submenu-item"> <a href="/documentation/cntlist5wn" data-drupal-link-system-path="node/16">cntlist(5WN)</a> </li> <li class="submenu-item"> <a href="/documentation/grind1wn" data-drupal-link-system-path="node/17">grind(1WN)</a> </li> <li class="submenu-item"> <a href="/documentation/lexnames5wn" data-drupal-link-system-path="node/18">lexnames(5WN)</a> </li> <li class="submenu-item"> <a href="/documentation/morph3wn" data-drupal-link-system-path="node/19">morph(3WN)</a> </li> <li class="submenu-item"> <a href="/documentation/morphy7wn" data-drupal-link-system-path="node/20">morphy(7WN)</a> </li> <li class="submenu-item"> <a href="/documentation/prologdb5wn" data-drupal-link-system-path="node/21">prologdb(5WN)</a> </li> <li class="submenu-item"> <a href="/documentation/senseidx5wn" data-drupal-link-system-path="node/22">senseidx(5WN)</a> </li> <li class="submenu-item"> <a href="/documentation/sensemap5wn" data-drupal-link-system-path="node/23">sensemap(5WN)</a> </li> <li class="submenu-item"> <a href="/documentation/uniqbeg7wn" data-drupal-link-system-path="node/24">uniqbeg(7WN)</a> </li> <li class="submenu-item"> <a href="/documentation/wn1wn" data-drupal-link-system-path="node/26">wn(1WN)</a> </li> <li class="submenu-item"> <a href="/documentation/wnb1wn" data-drupal-link-system-path="node/25">wnb(1WN)</a> </li> <li class="submenu-item"> <a href="/documentation/wndb5wn" data-drupal-link-system-path="node/27">wndb(5WN)</a> </li> <li class="submenu-item"> <a href="/documentation/wngloss7wn" data-drupal-link-system-path="node/28">wngloss(7WN)</a> </li> <li class="submenu-item"> <a href="/documentation/wngroups7wn" data-drupal-link-system-path="node/29">wngroups(7WN)</a> </li> <li class="submenu-item"> <a href="/documentation/wninput5wn" data-drupal-link-system-path="node/30">wninput(5WN)</a> </li> <li class="submenu-item"> <a href="/documentation/wnintro1wn" data-drupal-link-system-path="node/31">wnintro(1WN)</a> </li> <li class="submenu-item"> <a href="/documentation/wnintro3wn" data-drupal-link-system-path="node/32">wnintro(3WN)</a> </li> <li class="submenu-item"> <a href="/documentation/wnintro5wn" data-drupal-link-system-path="node/33">wnintro(5WN)</a> </li> <li class="submenu-item"> <a href="/documentation/wnintro7wn" data-drupal-link-system-path="node/34">wnintro(7WN)</a> </li> <li class="submenu-item"> <a href="/documentation/wnlicens7wn" data-drupal-link-system-path="node/35">wnlicens(7WN)</a> </li> <li class="submenu-item"> <a href="/documentation/wnpkgs7wn" data-drupal-link-system-path="node/36">wnpkgs(7WN)</a> </li> <li class="submenu-item active"> <a href="/documentation/wnsearch3wn" data-drupal-link-system-path="node/41" class="is-active" aria-current="page">wnsearch(3WN)</a> </li> <li class="submenu-item expanded"> <a href="/documentation/wnstats7wn" data-drupal-link-system-path="node/37">wnstats(7WN)</a> <button class="toggle-submenu unbutton" type="button" data-toggle="collapse" aria-expanded="false"> <span class="toggle-submenu-icon"> <i class="fa-solid fa-plus" aria-hidden="true"></i> </span> <span class="sr-only">Submenu</span> </button> <ul class="submenu collapse" role="list"> <li class="submenu-item"> <a href="/documentation/21-wnstats7wn" data-drupal-link-system-path="node/40">2.1 wnstats(7WN)</a> </li> <li class="submenu-item"> <a href="/documentation/20-wnstats7wn" data-drupal-link-system-path="node/39">2.0 wnstats(7WN)</a> </li> </ul> </li> <li class="submenu-item"> <a href="/documentation/wnutil3wn" data-drupal-link-system-path="node/38">wnutil(3WN)</a> </li> </ul> </li> <li class="nav-item"> <a href="/publications" data-drupal-link-system-path="node/13">Publications</a> </li> <li class="nav-item"> <a href="/frequently-asked-questions" data-drupal-link-system-path="node/14">Frequently Asked Questions</a> </li> </ul> <div class="utility-menu"> <ul class="nav navbar-nav utility-nav"> <li class="nav-item"> <a href="/caslogin" class="ps-login-link ps-login-logout-link" data-drupal-link-system-path="caslogin">Log in</a> </li> </ul> </div> </div> </div> </nav> <div class="search-bar" id="search-bar"> <div class="container navbar-expand-lg" role="search"> <h2 class="sr-only">Search</h2> <button class="toggle-searchbar unbutton" type="button" data-toggle="collapse" data-target="#search-bar-container" aria-controls="search-bar-container" aria-expanded="false" aria-label="Toggle search"> <span class="toggle-search-icon"> <i class="fa-solid fa-search" aria-hidden="true"></i> </span> </button> <div id="search-bar-container" class="collapse navbar-collapse"> <div class="search-block-form contextual-region block block-search container-inline" id="block-searchform"> <form action="/search" method="get" id="search-block-form" accept-charset="UTF-8"> <div id="search-toggled" class="form-group js-form-item form-item js-form-type-search form-type-search js-form-item-keys form-item-keys form-no-label"> <label for="edit-search-keys" class="visually-hidden">Search</label> <input placeholder="Search" type="search" id="edit-search-keys" name="keys" value="" size="15" maxlength="128" class="form-search form-control"> </div> <div data-drupal-selector="edit-search-actions" class="form-actions js-form-wrapper form-wrapper" id="edit-search-actions"><input type="submit" id="edit-search-submit" value="Submit" class="button js-form-submit form-submit btn btn-primary"> </div> </form> </div> </div> </div> </div> </div> </header> <div class="breadcrumb region region-breadcrumb" id="breadcrumb"> <div class="container"> <nav role="navigation" aria-label="breadcrumb"> <ol class="breadcrumb"> <li class="breadcrumb-item"> <a href="/">Home</a> </li> <li class="breadcrumb-item"> <a href="/documentation">WordNet Documentation</a> </li> <li class="breadcrumb-item active" aria-current="page"> wnsearch(3WN) </li> </ol> </nav> </div> </div> <div class="highlighted" id="highlighted"> <div class="container"> <div class="region region-highlighted"> <div data-drupal-messages-fallback class="hidden"></div> </div> </div> </div> <div id="main" class="main-container"> <div class="container"> <div class="row"> <div class="sidebar-first section order-first col-sm-4 col-md-3 col-lg-2"> <nav class="main-sidebar-menu" aria-label="site"> <h2 class="sr-only">Main Menu</h2> <ul class="nav navbar-nav main" role="list"> <li class="nav-item"> <a href="/" data-drupal-link-system-path="<front>">What is WordNet</a> </li> <li class="nav-item collapsed"> <a href="/people" data-drupal-link-system-path="node/42">People</a> </li> <li class="nav-item"> <a href="/news-0" data-drupal-link-system-path="node/4">News</a> </li> <li class="nav-item"> <a href="/download" data-drupal-link-system-path="node/5">Use Wordnet Online</a> </li> <li class="nav-item collapsed"> <a href="/download" data-drupal-link-system-path="node/5">Download</a> </li> <li class="nav-item"> <a href="/citing-wordnet" data-drupal-link-system-path="node/9">Citing WordNet</a> </li> <li class="nav-item"> <a href="/license-and-commercial-use" data-drupal-link-system-path="node/10">License and Commercial Use</a> </li> <li class="nav-item"> <a href="/related-projects" data-drupal-link-system-path="node/11">Related Projects</a> </li> <li class="nav-item expanded active"> <a href="/documentation" data-drupal-link-system-path="node/12">Documentation</a> <button class="toggle-submenu unbutton" type="button" data-toggle="collapse" aria-expanded="false"> <span class="toggle-submenu-icon"> <i class="fa-solid fa-plus" aria-hidden="true"></i> </span> <span class="sr-only">Submenu</span> </button> <ul class="submenu collapse submenu--2-col" role="list"> <li class="submenu-item"> <a href="/documentation/binsrch3wn" data-drupal-link-system-path="node/15">binsrch(3WN)</a> </li> <li class="submenu-item"> <a href="/documentation/cntlist5wn" data-drupal-link-system-path="node/16">cntlist(5WN)</a> </li> <li class="submenu-item"> <a href="/documentation/grind1wn" data-drupal-link-system-path="node/17">grind(1WN)</a> </li> <li class="submenu-item"> <a href="/documentation/lexnames5wn" data-drupal-link-system-path="node/18">lexnames(5WN)</a> </li> <li class="submenu-item"> <a href="/documentation/morph3wn" data-drupal-link-system-path="node/19">morph(3WN)</a> </li> <li class="submenu-item"> <a href="/documentation/morphy7wn" data-drupal-link-system-path="node/20">morphy(7WN)</a> </li> <li class="submenu-item"> <a href="/documentation/prologdb5wn" data-drupal-link-system-path="node/21">prologdb(5WN)</a> </li> <li class="submenu-item"> <a href="/documentation/senseidx5wn" data-drupal-link-system-path="node/22">senseidx(5WN)</a> </li> <li class="submenu-item"> <a href="/documentation/sensemap5wn" data-drupal-link-system-path="node/23">sensemap(5WN)</a> </li> <li class="submenu-item"> <a href="/documentation/uniqbeg7wn" data-drupal-link-system-path="node/24">uniqbeg(7WN)</a> </li> <li class="submenu-item"> <a href="/documentation/wn1wn" data-drupal-link-system-path="node/26">wn(1WN)</a> </li> <li class="submenu-item"> <a href="/documentation/wnb1wn" data-drupal-link-system-path="node/25">wnb(1WN)</a> </li> <li class="submenu-item"> <a href="/documentation/wndb5wn" data-drupal-link-system-path="node/27">wndb(5WN)</a> </li> <li class="submenu-item"> <a href="/documentation/wngloss7wn" data-drupal-link-system-path="node/28">wngloss(7WN)</a> </li> <li class="submenu-item"> <a href="/documentation/wngroups7wn" data-drupal-link-system-path="node/29">wngroups(7WN)</a> </li> <li class="submenu-item"> <a href="/documentation/wninput5wn" data-drupal-link-system-path="node/30">wninput(5WN)</a> </li> <li class="submenu-item"> <a href="/documentation/wnintro1wn" data-drupal-link-system-path="node/31">wnintro(1WN)</a> </li> <li class="submenu-item"> <a href="/documentation/wnintro3wn" data-drupal-link-system-path="node/32">wnintro(3WN)</a> </li> <li class="submenu-item"> <a href="/documentation/wnintro5wn" data-drupal-link-system-path="node/33">wnintro(5WN)</a> </li> <li class="submenu-item"> <a href="/documentation/wnintro7wn" data-drupal-link-system-path="node/34">wnintro(7WN)</a> </li> <li class="submenu-item"> <a href="/documentation/wnlicens7wn" data-drupal-link-system-path="node/35">wnlicens(7WN)</a> </li> <li class="submenu-item"> <a href="/documentation/wnpkgs7wn" data-drupal-link-system-path="node/36">wnpkgs(7WN)</a> </li> <li class="submenu-item active"> <a href="/documentation/wnsearch3wn" data-drupal-link-system-path="node/41" class="is-active" aria-current="page">wnsearch(3WN)</a> </li> <li class="submenu-item collapsed"> <a href="/documentation/wnstats7wn" data-drupal-link-system-path="node/37">wnstats(7WN)</a> </li> <li class="submenu-item"> <a href="/documentation/wnutil3wn" data-drupal-link-system-path="node/38">wnutil(3WN)</a> </li> </ul> </li> <li class="nav-item"> <a href="/publications" data-drupal-link-system-path="node/13">Publications</a> </li> <li class="nav-item"> <a href="/frequently-asked-questions" data-drupal-link-system-path="node/14">Frequently Asked Questions</a> </li> </ul> </nav> </div> <main class="main main-content col-sm-12 col-lg-10 order-last"> <a id="main-content" class="sr-only skip-link"></a> <div class="region region-content"> <div id="block-ps-tiger-page-title" data-block-plugin-id="page_title_block" class="with-block-description block block-core block-page-title-block"> <h1 class="page-title"> wnsearch(3WN) </h1> </div> <div id="block-ps-tiger-content" data-block-plugin-id="system_main_block" class="with-block-description block block-system block-system-main-block"> <article class="node node--type-ps-basic-page node--view-mode-full"> <div class="node__content"> <div class="constrained-bkg-constrained-content layout layout--onecol"> <div class="layout-container"> <div class="layout__region layout__region--content"> <div data-block-plugin-id="ps_node_view" class="with-block-description block block-ps-core block-ps-node-view"> <div class="clearfix text-formatted field field--name-field-ps-body field--type-text-long field--label-hidden field__item"><h2>Name</h2> <p>findtheinfo, findtheinfo_ds, is_defined, in_wn, index_lookup, parse_index, getindex, read_synset, parse_synset, free_syns, free_synset, free_index, traceptrs_ds, do_trace</p> <h2>Synopsis</h2> <p><b>#include "wn.h"</b></p> <p><b><b>char *findtheinfo(char *searchstr, int pos, int ptr_type, int sense_num);</b></b></p> <p><b>SynsetPtr findtheinfo_ds(char *searchstr, int pos, int ptr_type, int sense_num );</b></p> <p><b>unsigned int is_defined(char *searchstr, int pos);</b></p> <p><b>unsigned int in_wn(char *searchstr, int pos);</b></p> <p><b>IndexPtr index_lookup(char *searchstr, int pos);</b></p> <p><b>IndexPtr parse_index(long offset, int dabase, char *line);</b></p> <p><b>IndexPtr getindex(char *searchstr, int pos);</b></p> <p><b>SynsetPtr read_synset(int pos, long synset_offset, char *searchstr);</b></p> <p><b>SynsetPtr parse_synset(FILE *fp, int pos, char *searchstr);</b></p> <p><b>void free_syns(SynsetPtr synptr);</b></p> <p><b>void free_synset(SynsetPtr synptr);</b></p> <p><b>void free_index(IndexPtr idx);</b></p> <p><b>SynsetPtr traceptrs_ds(SynsetPtr synptr, int ptr_type, int pos, int depth);</b></p> <p><b>char *do_trace(SynsetPtr synptr, int ptr_type, int pos, int depth);</b></p> <h2>Description</h2> <p>These functions are used for searching the WordNet database. They generally fall into several categories: functions for reading and parsing index file entries; functions for reading and parsing synsets in data files; functions for tracing pointers and hierarchies; functions for freeing space occupied by data structures allocated with <b>malloc</b>(3) .</p> <p>In the following function descriptions, <i>pos </i>is one of the following:</p> <p> </p> <blockquote><b>1 </b> NOUN <br><b>2 </b> VERB <br><b>3 </b> ADJECTIVE <br><b>4 </b> ADVERB </blockquote> <p><b>findtheinfo()</b> is the primary search algorithm for use with database interface applications. Search results are automatically formatted, and a pointer to the text buffer is returned. All searches listed in <b>WNHOME/include/wn.h</b> can be done by <b>findtheinfo()</b>. <b>findtheinfo_ds()</b> can be used to perform most of the searches, with results returned in a linked list data structure. This is for use with applications that need to analyze the search results rather than just display them.</p> <p>Both functions are passed the same arguments: <i>searchstr </i>is the word or collocation to search for; <i>pos </i>indicates the syntactic category to search in; <i>ptr_type </i>is one of the valid search types for <i>searchstr</i>in <i>pos </i>. (Available searches can be obtained by calling <b>is_defined()</b> described below.) <i>sense_num </i>should be <b>ALLSENSES </b>if the search is to be done on all senses of <i>searchstr </i>in <i>pos </i>, or a positive integer indicating which sense to search.</p> <p><b>findtheinfo_ds() </b>returns a linked list data structures representing synsets. Senses are linked through the <i>nextss </i>field of a <b>Synset </b>data structure. For each sense, synsets that match the search specified with <i>ptr_type </i>are linked through the <i>ptrlist </i>field. See <b>Synset Navigation </b>below, for detailed information on the linked lists returned.</p> <p><b>is_defined() </b>sets a bit for each search type that is valid for <i>searchstr </i>in <i>pos </i>, and returns the resulting unsigned integer. Each bit number corresponds to a pointer type constant defined in <b>WNHOME/include/wn.h </b>. For example, if bit 2 is set, the <b>HYPERPTR </b>search is valid for <i>searchstr </i>. There are 29 possible searches.</p> <p><b>in_wn() </b>is used to find the syntactic categories in the WordNet database that contain one or more senses of <i>searchstr </i>. If <i>pos </i>is <b>ALL_POS, </b>all syntactic categories are checked. Otherwise, only the part of speech passed is checked. An unsigned integer is returned with a bit set corresponding to each syntactic category containing <i>searchstr </i>. The bit number matches the number for the part of speech. <b>0</b>is returned if <i>searchstr </i>is not present in <i>pos </i>.</p> <p><b>index_lookup() </b>finds <i>searchstr </i>in the index file for <i>pos </i>and returns a pointer to the parsed entry in an <b>Index </b>data structure. <i>searchstr </i>must exactly match the form of the word (lower case only, hyphens and underscores in the same places) in the index file. <b>NULL </b>is returned if a match is not found.</p> <p><b>parse_index() </b>parses an entry from an index file and returns a pointer to the parsed entry in an <b>Index </b>data structure. Passed the byte <i>offset </i>and syntactic category, it reads the index entry at the desired location in the corresponding file. If passed <i>line </i>, <i>line </i>contains an index file entry and the database index file is not consulted. However, <i>offset </i>and <i>dbase </i>should still be passed so the information can be stored in the <b>Index </b>structure.</p> <p><b>getindex() </b>is a "smart" search for <i>searchstr </i>in the index file corresponding to <i>pos </i>. It applies to <i>searchstr </i>an algorithm that replaces underscores with hyphens, hyphens with underscores, removes hyphens and underscores, and removes periods in an attempt to find a form of the string that is an exact match for an entry in the index file corresponding to <i>pos </i>. <b>index_lookup() </b>is called on each transformed string until a match is found or all the different strings have been tried. It returns a pointer to the parsed <b>Index </b>data structure for <i>searchstr </i>, or <b>NULL </b>if a match is not found.</p> <p><b>read_synset() </b>is used to read a synset from a byte offset in a data file. It performs an <b><a href="http://www.princeton.edu/wordnet/man/fseek.3.html">fseek </a></b><a href="http://www.princeton.edu/wordnet/man/fseek.3.html">(3)</a> to <i>synset_offset </i>in the data file corresponding to <i>pos </i>, and calls <b>parse_synset() </b>to read and parse the synset. A pointer to the <b>Synset </b>data structure containing the parsed synset is returned.</p> <p><b>parse_synset() </b>reads the synset at the current offset in the file indicated by <i>fp </i>. <i>pos </i>is the syntactic category, and <i>searchstr </i>, if not <b>NULL, </b>indicates the word in the synset that the caller is interested in. An attempt is made to match <i>searchstr </i>to one of the words in the synset. If an exact match is found, the <i>whichword </i>field in the <b>Synset </b>structure is set to that word's number in the synset (beginning to count from <b>1 </b>).</p> <p><b>free_syns() </b>is used to free a linked list of <b>Synset </b>structures allocated by <b>findtheinfo_ds() </b>. <i>synptr </i>is a pointer to the list to free.</p> <p><b>free_synset() </b>frees the <b>Synset </b>structure pointed to by <i>synptr </i>.</p> <p><b>free_index() </b>frees the <b>Index </b>structure pointed to by <i>idx </i>.</p> <p><b>traceptrs_ds() </b>is a recursive search algorithm that traces pointers matching <i>ptr_type </i>starting with the synset pointed to by <i>synptr </i>. Setting <i>depth </i>to <b>1 </b>when <b>traceptrs_ds() </b>is called indicates a recursive search; <b>0 </b>indicates a non-recursive call. <i>synptr </i>points to the data structure representing the synset to search for a pointer of type <i>ptr_type </i>. When a pointer type match is found, the synset pointed to is read is linked onto the <i>nextss </i>chain. Levels of the tree generated by a recursive search are linked via the <i>ptrlist </i>field structure until <b>NULL </b>is found, indicating the top (or bottom) of the tree. This function is usually called from <b>findtheinfo_ds() </b>for each sense of the word. See <b>Synset Navigation </b>below, for detailed information on the linked lists returned.</p> <p><b>do_trace() </b>performs the search indicated by <i>ptr_type </i>on synset synptr in syntactic category <i>pos </i>. <i>depth </i>is defined as above. <b>do_trace() </b>returns the search results formatted in a text buffer.</p> <h3>Synset Navigation</h3> <p>Since the <b>Synset </b>structure is used to represent the synsets for both word senses and pointers, the <i>ptrlist </i>and <i>nextss </i>fields have different meanings depending on whether the structure is a word sense or pointer. This can make navigation through the lists returned by <b>findtheinfo_ds() </b>confusing.</p> <p>Navigation through the returned list involves the following:</p> <p>Following the <i>nextss </i>chain from the synset returned moves through the various senses of <i>searchstr </i>. <b>NULL </b>indicates that end of the chain of senses.</p> <p>Following the <i>ptrlist </i>chain from a <b>Synset </b>structure representing a sense traces the hierarchy of the search results for that sense. Subsequent links in the <i>ptrlist </i>chain indicate the next level (up or down, depending on the search) in the hierarchy. <b>NULL </b>indicates the end of the chain of search result synsets.</p> <p>If a synset pointed to by <i>ptrlist </i>has a value in the <i>nextss </i>field, it represents another pointer of the same type at that level in the hierarchy. For example, some noun synsets have two hypernyms. Following this <i>nextss </i>pointer, and then the <i>ptrlist </i>chain from the <b>Synset </b>structure pointed to, traces another, parallel, hierarchy, until the end is indicated by <b>NULL </b>on that <i>ptrlist </i>chain. So, a <b>synset</b>representing a pointer (versus a sense of <i>searchstr </i>) having a non-NULL value in <i>nextss </i>has another chain of search results linked through the <i>ptrlist </i>chain of the synset pointed to by <i>nextss </i>.</p> <p>If <i>searchstr </i>contains more than one base form in WordNet (as in the noun <b>axes </b>, which has base forms <b>axe </b>and <b>axis </b>), synsets representing the search results for each base form are linked through the <i>nextform </i>pointer of the <b>Synset </b>structure.</p> <h3>WordNet Searches</h3> <p>There is no extensive description of what each search type is or the results returned. Using the WordNet interface, examining the source code, and reading <a href="/node/27"><b></b></a><b><a href="/node/27">wndb</a></b>(5WN) are the best ways to see what types of searches are available and the data returned for each.</p> <p>Listed below are the valid searches that can be passed as <i>ptr_type </i>to <b>findtheinfo() </b>. Passing a negative value (when applicable) causes a recursive, hierarchical search by setting <i>depth </i>to <b>1 </b>when <b>traceptrs() </b>is called.</p> <p> </p> <table><tbody><tr><td><b>ptr_type</b></td> <td><b>Value</b></td> <td><b>Pointer</b></td> <td><b>Search</b></td> </tr><tr><td> </td> <td> </td> <td><b>Symbol</b></td> </tr><tr></tr><tr><td>ANTPTR</td> <td>1</td> <td>!</td> <td>Antonyms</td> </tr><tr><td>HYPERPTR</td> <td>2</td> <td>@</td> <td>Hypernyms</td> </tr><tr><td>HYPOPTR</td> <td>3</td> <td> </td> <td>Hyponyms</td> </tr><tr><td>ENTAILPTR</td> <td>4</td> <td>*</td> <td>Entailment</td> </tr><tr><td>SIMPTR</td> <td>5</td> <td>&</td> <td>Similar</td> </tr><tr><td>ISMEMBERPTR</td> <td>6</td> <td>#m</td> <td>Member meronym</td> </tr><tr><td>ISSTUFFPTR</td> <td>7</td> <td>#s</td> <td>Substance meronym</td> </tr><tr><td>ISPARTPTR</td> <td>8</td> <td>#p</td> <td>Part meronym</td> </tr><tr><td>HASMEMBERPTR</td> <td>9</td> <td>%m</td> <td>Member holonym</td> </tr><tr><td>HASSTUFFPTR</td> <td>10</td> <td>%s</td> <td>Substance holonym</td> </tr><tr><td>HASPARTPTR</td> <td>11</td> <td>%p</td> <td>Part holonym</td> </tr><tr><td>MERONYM</td> <td>12</td> <td>%</td> <td>All meronyms</td> </tr><tr><td>HOLONYM</td> <td>13</td> <td>#</td> <td>All holonyms</td> </tr><tr><td>CAUSETO</td> <td>14</td> <td>></td> <td>Cause</td> </tr><tr><td>PPLPTR</td> <td>15</td> <td><</td> <td>Participle of verb</td> </tr><tr><td>SEEALSOPTR</td> <td>16</td> <td>^</td> <td>Also see</td> </tr><tr><td>PERTPTR</td> <td>17</td> <td>\</td> <td>Pertains to noun or derived from adjective</td> </tr><tr><td>ATTRIBUTE</td> <td>18</td> <td>\=</td> <td>Attribute</td> </tr><tr><td>VERBGROUP</td> <td>19</td> <td>$</td> <td>Verb group</td> </tr><tr><td>DERIVATION</td> <td>20</td> <td>+</td> <td>Derivationally related form</td> </tr><tr><td>CLASSIFICATION</td> <td>21</td> <td>;</td> <td>Domain of synset</td> </tr><tr><td>CLASS</td> <td>22</td> <td>-</td> <td>Member of this domain</td> </tr><tr><td>SYNS</td> <td>23</td> <td><i>n/a</i></td> <td>Find synonyms</td> </tr><tr><td>FREQ</td> <td>24</td> <td><i>n/a</i></td> <td>Polysemy</td> </tr><tr><td>FRAMES</td> <td>25</td> <td><i>n/a</i></td> <td>Verb example sentences and generic frames</td> </tr><tr><td>COORDS</td> <td>26</td> <td><i>n/a</i></td> <td>Noun coordinates</td> </tr><tr><td>RELATIVES</td> <td>27</td> <td><i>n/a</i></td> <td>Group related senses</td> </tr><tr><td>HMERONYM</td> <td>28</td> <td><i>n/a</i></td> <td>Hierarchical meronym search</td> </tr><tr><td>HHOLONYM</td> <td>29</td> <td><i>n/a</i></td> <td>Hierarchical holonym search</td> </tr><tr><td>WNGREP</td> <td>30</td> <td><i>n/a</i></td> <td>Find keywords by substring</td> </tr><tr><td>OVERVIEW</td> <td>31</td> <td><i>n/a</i></td> <td>Show all synsets for word</td> </tr><tr><td>CLASSIF_CATEGORY</td> <td>32</td> <td>;c</td> <td>Show domain topic</td> </tr><tr><td>CLASSIF_USAGE</td> <td>33</td> <td>;u</td> <td>Show domain usage</td> </tr><tr><td>CLASSIF_REGIONAL</td> <td>34</td> <td>;r</td> <td>Show domain region</td> </tr><tr><td>CLASS_CATEGORY</td> <td>35</td> <td>-c</td> <td>Show domain terms for topic</td> </tr><tr><td>CLASS_USAGE</td> <td>36</td> <td>-u</td> <td>Show domain terms for usage</td> </tr><tr><td>CLASS_REGIONAL</td> <td>37</td> <td>-r</td> <td>Show domain terms for region</td> </tr><tr><td>INSTANCE</td> <td>38</td> <td>@i</td> <td>Instance of</td> </tr><tr><td>INSTANCES</td> <td>39</td> <td> i</td> <td>Show instances</td> </tr></tbody></table><p><b>findtheinfo_ds() </b>cannot perform the following searches:</p> <p> </p> <blockquote>SEEALSOPTR <br> PERTPTR <br> VERBGROUP <br> FREQ <br> FRAMES <br> RELATIVES <br> WNGREP <br> OVERVIEW </blockquote> <h2>Notes</h2> <p>Applications that use WordNet and/or the morphological functions must call <b>wninit() </b>at the start of the program. See <a href="/node/38"><b></b></a><b><a href="/node/38">wnutil</a></b>(3WN) for more information.</p> <p>In all function calls, <i>searchstr </i>may be either a word or a collocation formed by joining individual words with underscore characters (<b>_ </b>).</p> <p>The <b>SearchResults </b>structure defines fields in the <i>wnresults </i>global variable that are set by the various search functions. This is a way to get additional information, such as the number of senses the word has, from the search functions. The <i>searchds </i>field is set by <b>findtheinfo_ds() </b>.</p> <p>The <i>pos </i>passed to <b>traceptrs_ds() </b>is not used.</p> <p> </p> <h2>See Also</h2> <p><b>wn</b>(1WN) , <a href="/node/25"><b>wnb</b>(1WN)</a> , <a href="/node/32"><b>wnintro</b>(3WN)</a> , <a href="/node/15"><b>binsrch</b>(3WN)</a> , <b>malloc</b>(3) , <a href="/node/19"><b>morph</b>(3WN)</a> , <a href="/node/38"><b>wnutil</b>(3WN)</a> , <a href="/node/33"><b>wnintro</b>(5WN)</a> .</p> <h2>Warnings</h2> <p><b>parse_synset() </b>must find an exact match between the <i>searchstr </i>passed and a word in the synset to set <i>whichword </i>. No attempt is made to translate hyphens and underscores, as is done in <b>getindex() </b>.</p> <p>The WordNet database and exception list files must be opened with <b>wninit </b>prior to using any of the searching functions.</p> <p>A large search may cause <b>findtheinfo() </b>to run out of buffer space. The maximum buffer size is determined by computer platform. If the buffer size is exceeded the following message is printed in the output buffer: <b>"Search too large. Narrow search and try again..." </b>.</p> <p>Passing an invalid <i>pos </i>will probably result in a core dump.</p> <p> </p> <p> </p></div> </div> </div> </div> </div> <div class="constrained-bkg-constrained-content layout layout--onecol"> <div class="layout-container"> <div class="layout__region layout__region--content"> </div> </div> </div> </div> </article> </div> </div> </main> </div> </div> </div> <footer role="contentinfo" class="footer region region-footer" id="footer"> <h2 class="sr-only">Footer</h2> <div class="container"> <div class="constrained-bkg-constrained-content layout layout--threecol-33-34-33"> <div class="layout-inner-container"> <div class="layout__region layout__region--first layout__region--thirds layout__region--narrow"> <div data-block-plugin-id="inline_block:ps_text" class="block-ps-text with-block-description block block-layout-builder block-inline-blockps-text"> <div class="clearfix text-formatted field field--name-field-ps-body field--type-text-long field--label-hidden field__item">Princeton, New Jersey 08544 USA - Operator: (609) 258-3000</div> </div> </div> <div class="layout__region layout__region--second layout__region--thirds layout__region--narrow"> </div> <div class="layout__region layout__region--third layout__region--thirds layout__region--narrow"> </div> </div> </div> </div> <div class="subfooter"> <div class="container"> <div class="row"> <div class="col-md-4"> <div class="subfooter-links"> <ul class="list-unstyled"> <li> <a href="https://accessibility.princeton.edu/help">Accessibility Help</a> </li> </ul> </div> </div> <div class="col-md-4"> <p class="copyright-text"> © 2025 The Trustees of Princeton University </p> </div> <div class="col-md-4 text-sm-left text-md-right copyright"> <a href="http://www.princeton.edu" class="pu-logo" title="Princeton University"><img src="/profiles/ps/themes/ps_base/images/pu-logo-stacked.svg" alt="Princeton University"/> </a> </div> </div> </div> </div> </footer> </div> </div> <span id="ps-current-username" data-username=""></span> <script src="/core/assets/vendor/jquery/jquery.min.js?v=3.7.1"></script> <script src="/core/assets/vendor/once/once.min.js?v=1.0.1"></script> <script src="/core/misc/drupal.js?v=10.3.10"></script> <script src="/core/misc/drupal.init.js?v=10.3.10"></script> <script src="/profiles/ps/themes/ps_base/bootstrap/js/bootstrap.min.js?soqhpq"></script> <script src="/core/assets/vendor/tabbable/index.umd.min.js?v=6.2.0"></script> <script src="/modules/contrib/linkpurpose/library/js/linkpurpose.min.js?soqhpq"></script> <script src="/modules/contrib/linkpurpose/js/linkpurpose-drupal.js?soqhpq"></script> <script src="/profiles/ps/modules/custom/ps_core/js/link_behavior.js?soqhpq"></script> <script src="/profiles/ps/modules/custom/ps_core/js/focusable-hash-fixer.js?soqhpq"></script> <script src="/profiles/ps/modules/custom/ps_core/js/enhanced-focus.js?soqhpq"></script> <script src="/profiles/ps/modules/custom/ps_core/js/search-terms-fragment-parser.js?soqhpq"></script> <script src="/profiles/ps/modules/custom/ps_core/js/search-terms-highlighter.js?soqhpq"></script> <script src="/profiles/ps/modules/custom/ps_core/js/collapse-text-search-terms-revealer.js?soqhpq"></script> <script src="/profiles/ps/libraries/custom/select2/dist/js/select2.js?v=4.x"></script> <script src="/profiles/ps/modules/custom/select2_simple/js/select2_simple.js?soqhpq"></script> <script src="/core/misc/active-link.js?v=10.3.10"></script> <script src="/profiles/ps/themes/ps_base/js/main-menu.js?soqhpq"></script> <script src="/profiles/ps/themes/ps_tiger/js/header.js?soqhpq"></script> <script src="/profiles/ps/themes/ps_tiger/js/image-no-border.js?soqhpq"></script> <script src="/core/misc/progress.js?v=10.3.10"></script> <script src="/core/assets/vendor/loadjs/loadjs.min.js?v=4.3.0"></script> <script src="/core/misc/debounce.js?v=10.3.10"></script> <script src="/core/misc/announce.js?v=10.3.10"></script> <script src="/core/misc/message.js?v=10.3.10"></script> <script src="/profiles/ps/themes/ps_base/js/message.theme.js?soqhpq"></script> <script src="/core/misc/ajax.js?v=10.3.10"></script> <script src="/themes/contrib/stable/js/ajax.js?v=10.3.10"></script> <script src="/modules/contrib/google_tag/js/gtag.ajax.js?soqhpq"></script> <script src="/profiles/ps/modules/custom/ps_core/js/utils.js?soqhpq"></script> <script src="/profiles/ps/modules/custom/ps_core/js/columns.js?soqhpq"></script> <script src="/profiles/ps/modules/custom/ps_core/js/tables.js?soqhpq"></script> <script src="/core/misc/form.js?v=10.3.10"></script> <script src="/profiles/ps/modules/custom/ps_core/js/logout-link-username.js?soqhpq"></script> </body> </html>