`
`PCTfUS97!l I835
`
`3_1 ORNI Protocol Layer And Upcall Interfaces
`
`This section was generated from (status by CDOC on Sun Jan 29 17:00:50 1995.
`
`ORM A pplication Co ntext
`
`Application Server Capsules may serve different kind of requests and therefor may have
`multiple tionnnns of objects to be managed listening on multiple ports. Following the
`ORM model. this may result in multiple parallel independent trees.
`
`The ORM parser supports this by maintaining an application context, which has to be
`passed to the protocol layer to handle a request (there is also an opaque call-context,
`which may be passed to the protocol layer. but this isn't interpreted by the ssl).
`
`The application context contains beside (an opaque pointer} to the {virtual} root at the
`virtual tree. mainly a list of tree/a pplication specific function pointers. Before the first
`request can be passed on to the ORM protocol layer, this context has to be established
`with the ORV SSL via .1 call to ORM_Contextlnitialize.
`
`Accordingly there exists a iurictnm to inform ORM that this application context is not
`needed anymore (release).
`
`The following lists the function prototype definitions for actual functions to be provided,
`when establishing a context.
`
`Note: Some functions are defined to return pointers to character strings lOR.M_String). If
`the ORM protocol handler is used it_ is guaranteed. that the same function will not be
`called. before the string is copied or otherwise not needed anymore. This allows the use
`of 3 single prl\‘.'Il:' string buffers per function, it necessary.
`
`3.1.1 Authentication
`
`The following list of functions are included to enable an application to maintain its own
`authenticated context. The ORM protocol fust allows to forward some authentication
`related information from the client to the server (WHO...'.I. This is passed on to the appli-
`cation layer as is. if encountered by the parser. The actual meaning of this data is applica-
`tion and user interface dependant.
`.
`
`3.1.2 Function Type ORM_Authenticale!-‘uric
`
`Perlorms any necessary authentication or preparation of authentication structures. Usu-
`ally, the authentication information is used to setup some context in the callocontext,
`which is passed to the node/handle layer upcalls. It is up to the application layer to
`freefclear such context after return from the protocol layer.
`
`29
`
`Bl-'SDCClD: <WO_98D2B3 lA1_|_>
`
`(cid:51)(cid:72)(cid:87)(cid:76)(cid:87)(cid:76)(cid:82)(cid:81)(cid:72)(cid:85)(cid:86)(cid:3)(cid:55)(cid:90)(cid:76)(cid:87)(cid:87)(cid:72)(cid:85)(cid:15)(cid:3)(cid:44)(cid:81)(cid:70)(cid:17)(cid:3)(cid:68)(cid:81)(cid:71)(cid:3)(cid:60)(cid:72)(cid:79)(cid:83)(cid:3)(cid:44)(cid:81)(cid:70)(cid:17)(cid:3)(cid:16)(cid:3)(cid:40)(cid:91)(cid:75)(cid:76)(cid:69)(cid:76)(cid:87)(cid:3)(cid:20)(cid:19)(cid:19)(cid:27)(cid:3)(cid:16)(cid:3)(cid:51)(cid:68)(cid:74)(cid:72)(cid:3)(cid:21)(cid:20)(cid:20)
`Petitioners Twitter, Inc. and Yelp Inc. - Exhibit 1008 - Page 211
`
`
`
`wo amazes:
`
`ecamusy-m_ was
`
`Dectaration:
`
`'.)'_r=c\'.':t.'t
`
`Fields’
`
`£."a'l“I..'OlIh‘.I.'i*
`
`authstring
`
`status
`
`I
`{"\'.‘Rl"'I__.-‘\‘4'..".t.'l".‘.' i.:a:el-‘i.:::cJ
`'.'.=.-t_.‘::a: .-s
`:RM_AppCs;:f:::ezcDe:
`csL1c:n:exc.r'
`:in_£rri:q
`auchstrinq
`2-
`
`in’!
`in °r
`
`An opaque pointer to any kind of context, the caller has estab-
`lishecl.This passed to the node and handle layer.
`
`The string. the client passed in his request. if any. Usually
`uid:passwd
`
`ORM_E.'\.‘oErrnr: if successful}, ORM_EPerrnissionDenied, if
`authentication unknown.
`
`3.1.3 OR.‘\'I_Aut|1FuncDef
`
`This structure I5 used In pass the Authentication function to ORM_Contextlnitiali.ze
`
`Declaration:
`
`
`
`3.1.4 Virtual Node & Tree Function Types
`
`The following list of fun-:tinns (iu nction types) are used to access the virtual tree of com-
`ponents. attributes and linked ntajects. They usuaiiy don’t deal with application specific
`data.
`
`3.1.5 Function Type 0RM__Node!.ookUpFunc
`
`This is the central function for the traversal of the tree .
`
`Returns an opaque pointer to at virtual node. which may subsequently be called to
`retrieve properties or chilclren at specific types.
`
`Dectaratiun;
`
`tgpedei
`
`I.‘
`
`HekH'
`
`I
`I
`t’GR.H___:t:a:le'_ooh:i.;‘pE'un:
`‘:5:-I4_5:a-.-:9
`':P."-1__A_ap.2aJ..‘.Ccnce:<tDe:'
`:a.‘..Lc=rt:e.Itt..!" in 'r'
`c‘:-L‘-._ri:.-.;:Nc-cieoc.-I
`::-o:.
`3"
`in '.v‘
`CR:-1_5tr.inq
`;.-at-.i-.:-.a:ne,
`N in °.*
`-2:-‘.'~1__.-‘-.3.-_:.:t-.r.'eDe£
`-node.
`.'- out =1
`2?N_n:ueT;peDe£
`-nd_cype
`I‘ out -I
`
`30
`
`EN5C§|D: ¢WO_%B31A1_|_b
`
`(cid:51)(cid:72)(cid:87)(cid:76)(cid:87)(cid:76)(cid:82)(cid:81)(cid:72)(cid:85)(cid:86)(cid:3)(cid:55)(cid:90)(cid:76)(cid:87)(cid:87)(cid:72)(cid:85)(cid:15)(cid:3)(cid:44)(cid:81)(cid:70)(cid:17)(cid:3)(cid:68)(cid:81)(cid:71)(cid:3)(cid:60)(cid:72)(cid:79)(cid:83)(cid:3)(cid:44)(cid:81)(cid:70)(cid:17)(cid:3)(cid:16)(cid:3)(cid:40)(cid:91)(cid:75)(cid:76)(cid:69)(cid:76)(cid:87)(cid:3)(cid:20)(cid:19)(cid:19)(cid:27)(cid:3)(cid:16)(cid:3)(cid:51)(cid:68)(cid:74)(cid:72)(cid:3)(cid:21)(cid:20)(cid:21)
`Petitioners Twitter, Inc. and Yelp Inc. - Exhibit 1008 - Page 212
`
`
`
`WO 93102831
`
`PCTfUS97i'l1B85
`
`callcon text
`
`rout
`
`pfi'l.l:rlflllI€
`
`node
`
`nJ_typt'
`
`r.-tum
`
`IS an opaque pointer to the application specific call context pro-
`vided with the Do_Request function.
`
`Opaque Pointer to root of virtual tree. This may be NULL, and is
`ta ken from the application context.
`
`IS a i‘ separated list of Component names optionally preceded by
`the name of the object {e.g. ifthe first component matches the roots
`object narne. strip it. else take the first component to be a child
`under the applications root}. Support for mt‘: style directory moi.
`gation . and .. is highly recommended! required. A pathnai-rte of .,
`applied to the root with request type Object should return the root
`name and the actual servers link address (NOR)
`
`The opaque node pointer. if found
`
`The OR.'Vl_.\'0deType of the node found
`
`ORM_E.\.‘oError in case of success. or any other ORM error in case
`of failure.
`
`3.1.6 Fttnct ion Type ORM_NodeChildNextFunc
`
`Used to subsequently scan the children of a single parent. Returns the next child of type
`type of parent parent. which logically follows the child returned by the previous call to
`NodeCln'ldNe.rr(J, now passed in as litstcltild. E.g. lllastchiid is set 10 NULL the logically first
`child of this parent is requested. If there are no children (of the requested type), then
`NULL must he retu rm.-ti with 0R.Vl_Status set to ORM_NoError.
`
`Declaration:
`
`t
`l
`I'-;F¢1__:a::*:¢;-Chi.Ld.‘Je:ct:£'un:
`cy;-2-:te£ :.‘:i.~t_:‘u:a:'_-2
`in -if
`-295:
`.=t=;:-.:e.;;.‘.'.::nt:.e:<t.£\e:
`:.-tE..l.con';exc.!'
`i. ."I
`'-
`-'3.’-L*1__a_=pN~:-.14‘.-L‘4.% S
`3.‘: cent: .
`.’ '
`in '3
`CR.‘-'._e.;ptIc::eD-:1
`2.359.-ch’-.J.d.
`J‘ '
`in ' I
`-_‘iI.\1_N::¢:-“."y§:e3-2:"
`type.
`a"
`2P.‘-l__.-"-;:pN 3 1q':t—e t"
`' :r.i 1:1.
`' out
`' 9'
`'_’§-I.=4___s‘c ::.!'l-'1'
`-name
`- ' o.tc
`1:
`
`'
`
`Fields:
`
`citllcanlext
`
`parent
`
`lnstchild
`
`type
`
`is an opaque pointer to the application specific call context pro-
`vided with the Do__Request function.
`
`Opaque pointer to the virtual parent node.
`
`Opaque pointer to the last child returned by a call to this function
`(in this request}. or NULL to request the first child.
`
`The type of etttity, which is requested (DRM_ObjectType,
`OR !Vl_Curup-.mentType, ORM__AttributeType or ORM_AnyTypel.
`
`31
`
`ertsoocto; «wo_9eo2e:atm_i_s
`
`(cid:51)(cid:72)(cid:87)(cid:76)(cid:87)(cid:76)(cid:82)(cid:81)(cid:72)(cid:85)(cid:86)(cid:3)(cid:55)(cid:90)(cid:76)(cid:87)(cid:87)(cid:72)(cid:85)(cid:15)(cid:3)(cid:44)(cid:81)(cid:70)(cid:17)(cid:3)(cid:68)(cid:81)(cid:71)(cid:3)(cid:60)(cid:72)(cid:79)(cid:83)(cid:3)(cid:44)(cid:81)(cid:70)(cid:17)(cid:3)(cid:16)(cid:3)(cid:40)(cid:91)(cid:75)(cid:76)(cid:69)(cid:76)(cid:87)(cid:3)(cid:20)(cid:19)(cid:19)(cid:27)(cid:3)(cid:16)(cid:3)(cid:51)(cid:68)(cid:74)(cid:72)(cid:3)(cid:21)(cid:20)(cid:22)
`Petitioners Twitter, Inc. and Yelp Inc. - Exhibit 1008 - Page 213
`
`
`
`A WO 98102831
`
`PCT/U897/[1885
`
`mutt
`
`name
`
`Pointer where to store the reference to the node found
`
`Pointer to name of node found.
`
`returns
`
`status value. Fossiblestatus values. see below!
`
`3.1.7 Function Type ORM_NodeChiIdByNameFunc
`
`The little sister of OR.\»t_NodeLookL’p. Looks for a child with name cixildname directly
`under the given parent parmt. This function is prtmariiy used within the processing of
`Set- Attribute requests. it there [S no child with this name. return NULL and an error sta-
`tus (see below)
`
`Declaration:
`
`(
`s"GR.~t_?:cdeCt:ildsytlamefunc .\
`:3,-pedcf CR:«I_$:a:-4:
`~:P.V!_.'-.-_.-4:25;;’:;:.:e:c::-5E
`:.a;1«::n:ex:-../° in ‘I
`..',:'—'.~1__.\c§r..‘t::¢."o.-!’n:t'
`pa rent.
`/° 1:: °/
`‘=0
`childname.
`:‘~
`in ~/
`"-"4.
`':hi id.
`I‘ out
`'4
`'3
`
` °:nx'.:1_:y;:e /° cut
`
`Fields.
`
`parent
`
`Opaque pointer to the virtual parent node.
`
`chiidname
`
`.\'ame of the child (attribute), ie. every printable char except '/'
`
`child
`
`Pointer where to store the reference to the node found
`
`chr'1.l__typc'
`rt‘! urns
`
`Pointer to type of node found.
`
`OR.\-t_E\'nError ifchild was found. else ORM_ENoSuchNode_
`
`. 3.1.8 Function Type ORM_NodeTypeGetE-‘unc
`
`A returns the type (enurn ORM_;\'odeTypeDeD of the given node.
`
`Declaration:
`
`r. ypede f cR.‘t_N - :¢.~T-gpes-3 f
`s:.‘L'~4_;.t:g:~tI.*-:e De :
`i
`.‘
`
`t‘ c:‘d~'.._t-'cde‘-.'ypeGe cfunc )
`7.;-ze
`I °
`in <' I
`
`t
`
`Fietds‘
`
`node
`re! u ms
`
`.1 pointer to a virtual node
`
`a s’-alicttype or ORM_NodeTypeUnknown.
`
`32
`
`BNSOOCID: <WO__98Q283 IA 1 _l_>
`
`
`
`(cid:51)(cid:72)(cid:87)(cid:76)(cid:87)(cid:76)(cid:82)(cid:81)(cid:72)(cid:85)(cid:86)(cid:3)(cid:55)(cid:90)(cid:76)(cid:87)(cid:87)(cid:72)(cid:85)(cid:15)(cid:3)(cid:44)(cid:81)(cid:70)(cid:17)(cid:3)(cid:68)(cid:81)(cid:71)(cid:3)(cid:60)(cid:72)(cid:79)(cid:83)(cid:3)(cid:44)(cid:81)(cid:70)(cid:17)(cid:3)(cid:16)(cid:3)(cid:40)(cid:91)(cid:75)(cid:76)(cid:69)(cid:76)(cid:87)(cid:3)(cid:20)(cid:19)(cid:19)(cid:27)(cid:3)(cid:16)(cid:3)(cid:51)(cid:68)(cid:74)(cid:72)(cid:3)(cid:21)(cid:20)(cid:23)
`Petitioners Twitter, Inc. and Yelp Inc. - Exhibit 1008 - Page 214
`
`
`
`“'0 °3"°3"3'
`
`‘
`
`PC'I'I1IS97ItI885
`
`3.1.9 Function Type OR_M_NodeNameCelF|-ll'I€
`
`returns the name (ORM_Stn'ng) (if the given node.
`
`Declaration:
`
`.'..'—.."l_3P.':t ::q t--‘.‘P.~!_:£:;‘.o.\'arne'Cic:!-‘unc I
`:y;:e-.:et'
`Z.‘-L‘-'!_F-.;:;?::dECI.=f
`_-.;:.e
`-' '
`in ' -‘
`l :
`
`t
`
`Fields:
`
`nuilr
`
`retttms
`
`a pointer to a virtual node
`
`a valid null terrnirtated string of characters or NULL
`
`3.1.10 Functi-on Type ORM_NodeNotPoundTrapFunc
`
`This function is kind of special by providing the appiication layer a chance. ifthe lookup
`of a node fail:-d,to create that node.
`
`Normally. reterenctng a non-existent node in the pathnarne of an ORM request is treated
`as an erreIr.c>.ceptt|1I5 is an internal ORM restore request. Reloading an ORM tree into an
`application may encounter subtrees. which where dynamically created by the application
`during a previous nan (usually no it Nat‘ subtreei.
`
`This function is totally application dependant and is not covered by the ORM-SSL other
`than via this hook.
`
`Dectaration;
`
`'.,r=-Ede:
`‘.'-'
`"
`
`---‘
`
`.-‘:5'.'J's
`-
`.-
`
`(‘Ci-‘."'.'Tl::LeN':2?C\:22dT£a$?l.lI1Cl
`'..'-..'-T-!'!:..
`-"
`'..‘i
`'3
`' 339-‘: .
`." ‘
`1.".
`:e::_..--:.s:..
`." ‘.."I ‘I
`'.’.e'.:.'t:'--::e
`: ' out ‘I
`
`t‘
`
`
`
`.'
`
`.
`
`Fteids:
`
`parent
`
`name
`
`~'t‘t]ltt‘S|'
`
`nrt.t.':trutc
`
`rettmrs.
`
`Reference to parent node
`
`Name of node not found under this parent.
`
`Kind NORM request (get/set/dump/restore! causing this lockup
`Iniiure.
`
`\_\!here to store the reference to the new node, if one was created.
`
`ORM__ENoError. if a node with the given name was Created else
`ORM_ENoSuchNode.
`
`33
`
`BNSUDCID: -=wD_9ao28:ItA1_,i_:.
`
`(cid:51)(cid:72)(cid:87)(cid:76)(cid:87)(cid:76)(cid:82)(cid:81)(cid:72)(cid:85)(cid:86)(cid:3)(cid:55)(cid:90)(cid:76)(cid:87)(cid:87)(cid:72)(cid:85)(cid:15)(cid:3)(cid:44)(cid:81)(cid:70)(cid:17)(cid:3)(cid:68)(cid:81)(cid:71)(cid:3)(cid:60)(cid:72)(cid:79)(cid:83)(cid:3)(cid:44)(cid:81)(cid:70)(cid:17)(cid:3)(cid:16)(cid:3)(cid:40)(cid:91)(cid:75)(cid:76)(cid:69)(cid:76)(cid:87)(cid:3)(cid:20)(cid:19)(cid:19)(cid:27)(cid:3)(cid:16)(cid:3)(cid:51)(cid:68)(cid:74)(cid:72)(cid:3)(cid:21)(cid:20)(cid:24)
`Petitioners Twitter, Inc. and Yelp Inc. - Exhibit 1008 - Page 215
`
`
`
`
`
`Declaration:
`
`rypedef st. rue: ‘.‘.P.H_.*lc<.*.eE'-.tn.:'.'a9 l
`CR)! Mode L::::.r.U_:-Fun:
`-
`
`:.-;-_'
`
`lockup:
`childnext :
`childzyaa:-..e:
`z ypeqec .-
`nameqe: :
`
`3.1.12 Application Handles
`
`The following two function types are used to link the virtual nodes in the tree to (parts of)
`actual application data instances. visible to the ORM support layer as opaque handles.
`when an application handle is requested from the application layer, real things happen to_
`start and it is assumed. that the instances are valid and available. until explicitly released
`by the ORM In yet. The handles together with the aspect (identifying the type of handle to
`the application: will be passed to the application specific functions, when actual values
`have to be .1«:ce-sse-ti ten her for get or set). If these functions are not set in the ORM context.
`.\‘L' LL will be passed into those calls forboth. the handle and the handleclass.
`
`3.1.13 Function Type ORM_HandieGelFux'tc
`
`Request (and lack) an actual handle {pointer to an application level instance) and a han-
`dleclass based on the current virtual none and the current principal.
`
`-
`
`Declaration:
`
`:
`;
`-..'.:‘.J."te'a‘acE?.':'.:
`in °.-
`ca‘.1:;n:e.v.t;, .' °
`in ‘I
`.-.::'.‘e,
`»"
`in - I
`op.
`'
`‘' handle,
`.’ ° out
`"1'
`aspect
`I = out
`*' I
`‘
`
`:' I.-.'-l
`r. -.1...‘
`.-.-z .-
`:-_.-,->e:.c—:
`:..'-:‘_-'-., ;
`‘-. .
`. ‘,-.- ,—...-I 2.2:
`13.“ A;-g-r:
`-:‘
`' 2?:-:_.=.e.::_ .'-E.-T2
`_ _ ace:
`‘:-!t'-1__A;p.*-‘..1r.'.:1e;?ef
`:.!Lv._:-.;.* p.=.s:.~et:'.:e:‘
`3 :
`
`
`
`Fields:
`
`CnUf0Il1t’.\l'
`
`mulv
`
`up
`
`handle
`
`is an opaque pointer to the application specific call context pro-
`\ lded Wllh the Do_Request function.
`
`Pointer to current Node.
`
`Operation Code. e.g. ORM_Request
`
`Pointer, where to store the handle reference
`
`34
`
`BNSDOCID: <WO__9932B31A ‘l_I_>
`
`(cid:51)(cid:72)(cid:87)(cid:76)(cid:87)(cid:76)(cid:82)(cid:81)(cid:72)(cid:85)(cid:86)(cid:3)(cid:55)(cid:90)(cid:76)(cid:87)(cid:87)(cid:72)(cid:85)(cid:15)(cid:3)(cid:44)(cid:81)(cid:70)(cid:17)(cid:3)(cid:68)(cid:81)(cid:71)(cid:3)(cid:60)(cid:72)(cid:79)(cid:83)(cid:3)(cid:44)(cid:81)(cid:70)(cid:17)(cid:3)(cid:16)(cid:3)(cid:40)(cid:91)(cid:75)(cid:76)(cid:69)(cid:76)(cid:87)(cid:3)(cid:20)(cid:19)(cid:19)(cid:27)(cid:3)(cid:16)(cid:3)(cid:51)(cid:68)(cid:74)(cid:72)(cid:3)(cid:21)(cid:20)(cid:25)
`Petitioners Twitter, Inc. and Yelp Inc. - Exhibit 1008 - Page 216
`
`W0 93/02831
`
`‘
`
`PCT/US97I1 was
`
`3.1.11 Structure ORM_NodeFttncDef
`
`This structure bundles the virtual tree related functions for passing to Contextlnitialize
`
`Note: The OR.Vl_.\3odeNotFnundTrapFunc is not included in this function array, because
`it is application special anyway and must be passed explicitly, see Contextlnltialiset)
`
`
`
`“'0 “"0233!
`
`P.c1'ms97n was
`
`aspect
`
`returns
`
`Pointer. where to store the aspect reference
`
`ORM_ENoError if no error occured or any of the ORM error coc|e5_
`
`3.1.1-t Function Type ORM_HandleRe_leaseFunc
`
`Returns a given handle back to the application layer. This should be more understood as
`an unlock operation than a free!
`-
`
`Declaration:
`
`t
`t'c.='.V.__:4.en=1eRe;ease!'unc I
`cypedef '.'.-.:.':
`:R.~1_Ag.-apcatlzoncc-scoei
`cailccncexc. I‘ in ‘I
`CF-'_V1_.\_opl-:ar.:i1e5-ef
`handle.
`I "
`in ' I
`’.‘!L~t__‘:-.;>pA33.~ec: Def
`aspect .
`.-’ '
`in - I
`1:73‘.
`3-=.'_..x':.-:"‘T_.-‘:+.'.‘(-.1"
`::;:t
`a"
`in '.'
`J
`.'
`
`Fieicts.
`
`t'm'ls.'.sr.-ti-_\'t
`
`is an opaque pointer to the application specific call context pro-
`vided w'IIh the Do_Re-quest function.
`
`handle
`
`aspect
`
`op
`
`a handle obtained via a call to HandleGet
`
`Aspect as returned from HandleCet
`
`Operation Code. e.g. 0RM_Rt.-quest
`
`3.1.15 Function Type 0RM_0bjectLinkGetFttnc
`
`Retrieve the Obgect Link from a node of type Object given the node. the handle and the
`aspect. The standartt Handle Layer functions just return the link stored in the corre
`sponding field in the node struct.
`
`Declaration:
`
`type-:9:
`t':!1.V!__;:t.a:'43
`
`C-3..‘‘.__F_'..pE-'.3n'..‘:l.4.3-3:‘
`-V‘
`-t
`”‘
`
`t'OFH_I-tandlez-t:je;r.;i::kGe:Fun:
`.-.-.--.:e.
`.'-
`=.:-. -:
`.-;ar...".le.
`:' -
`tr.
`- I
`«Ir-F.".r.
`.-"'
`1:1
`'-'
`-_..'.K
`." J."-‘J1’.
`'f
`
`T.‘
`
`I
`
`t
`
`Fields:
`
`and:
`
`hartdlr
`
`'
`
`Reference to node of Object Type
`
`Reference to application defined handle as returned from Han-
`dleCet
`
`rtsm-ct.
`
`Reference to application defined aspect as returned from Han-
`
`35
`
`BNSDCCJDL -:W0_a602aatm_|_~,.
`
`(cid:51)(cid:72)(cid:87)(cid:76)(cid:87)(cid:76)(cid:82)(cid:81)(cid:72)(cid:85)(cid:86)(cid:3)(cid:55)(cid:90)(cid:76)(cid:87)(cid:87)(cid:72)(cid:85)(cid:15)(cid:3)(cid:44)(cid:81)(cid:70)(cid:17)(cid:3)(cid:68)(cid:81)(cid:71)(cid:3)(cid:60)(cid:72)(cid:79)(cid:83)(cid:3)(cid:44)(cid:81)(cid:70)(cid:17)(cid:3)(cid:16)(cid:3)(cid:40)(cid:91)(cid:75)(cid:76)(cid:69)(cid:76)(cid:87)(cid:3)(cid:20)(cid:19)(cid:19)(cid:27)(cid:3)(cid:16)(cid:3)(cid:51)(cid:68)(cid:74)(cid:72)(cid:3)(cid:21)(cid:20)(cid:26)
`Petitioners Twitter, Inc. and Yelp Inc. - Exhibit 1008 - Page 217
`
`
`
`
`
`W0 9810283 I
`
`PCT/US97lll885
`
`link
`
`returns
`
`Location where to store the reference to the stnngified link infor—
`rnation
`
`ORM_E.\'nError if successfull. etse ORM_tnvatidOperation. if the
`node is not of type Object
`
`3.1.16 Function Type ORM_AttributeDescrGetFunc
`
`Retrieve the opaque referenceumque to a node of type Attribute (usually the attribute
`descriptor). given the node. the handle and the aspect. The standard Handle Layer func-
`tions just return the pointer stored in the corresponding field in the node stmct.
`
`Declaration:
`
`-_.e -c.*:-.-‘
`_‘.‘'c'-'
`=.\--r
`:.-'-.~-
`*'-"vi-r.; t .--
`
`
`
`‘-'
`
`I ‘-Inr..:.I4ehcc:it:~u:eDesc:Ge:?un<:
`-.::*.e,
`-' gr.
`'.'
`es.--.;1t«e.
`r‘
`in ‘I
`:5:-ect.
`«"
`in ‘ -’
`'::::'.t:>:1esc /'
`:‘.'P.
`° ’
`
`‘~:-
`
`l
`
`i
`
`Fields:
`
`node
`
`hmnllit
`
`Reference to node of Object Type
`
`Reference to application defined handle as returned from Han-
`dleCet
`
`.13».-ct
`
`‘
`
`Reference to application defined aspect as returned from Han-
`dleGet
`
`aflribdesc
`
`Location where to store the reference to the attribute information
`
`returns
`
`ORM_E.\!oError if successfull. else ORM_lnvalidOperatton. if the
`node is not of type Object
`
`3.1.17 Structure ORM__HandleFuncDe§
`
`This structure bundles the handle related functions for passing to Contextlnitiatize
`
`36
`
`BNSDIID: <WO__9802831A ¢_|_>
`
`(cid:51)(cid:72)(cid:87)(cid:76)(cid:87)(cid:76)(cid:82)(cid:81)(cid:72)(cid:85)(cid:86)(cid:3)(cid:55)(cid:90)(cid:76)(cid:87)(cid:87)(cid:72)(cid:85)(cid:15)(cid:3)(cid:44)(cid:81)(cid:70)(cid:17)(cid:3)(cid:68)(cid:81)(cid:71)(cid:3)(cid:60)(cid:72)(cid:79)(cid:83)(cid:3)(cid:44)(cid:81)(cid:70)(cid:17)(cid:3)(cid:16)(cid:3)(cid:40)(cid:91)(cid:75)(cid:76)(cid:69)(cid:76)(cid:87)(cid:3)(cid:20)(cid:19)(cid:19)(cid:27)(cid:3)(cid:16)(cid:3)(cid:51)(cid:68)(cid:74)(cid:72)(cid:3)(cid:21)(cid:20)(cid:27)
`Petitioners Twitter, Inc. and Yelp Inc. - Exhibit 1008 - Page 218
`
`
`
`
`
`»l..uams‘.wa£'iits»M.tu’iW£»»ifi-qI»;4j...t..,.-Vltamt~.abs.,.r
`
`
`
`“’° 93‘'°2331
`
`rc1'rus9m 1335
`
`Declaration:
`
`_".f'\..'.’.'Z .;a!v.__.*:'ari-.=1..~.='-.-:.¢.-Ta:-:;
`1;}'pr_-dc[
`'39?--'
`=:I".“l__.‘.Jl'2fil.-':3eE.§-I.:.".".‘
`:eLease:
`£RH_san:£ePoluaseFuLc
`Link-'
`c-9.“.
`.-E-intlile-Utujfict§.iI‘1K*3ET.5'1:1'5=
`33::
`:—..ir.:-'.'.c-.'.::::b::t.eDerccC-er!‘-.inc at:r..-its:
`
`I
`
`I
`
`‘Ira:-:__l-ls.-.:i'.e:‘uncD-.ef:
`
`3.1.18 Accessing Application Data: Aspects
`
`the following group of functions (function types) hasto be provided to access actual val-
`ues of the application either for retrieval or for updating. All functions in this group are
`rnanclatory. if the OILM protocol layer is used.
`
`3.1.19 Function Type ORM_AspectCallGetFunc
`
`This function retrieves an :.-spec! from the application layer. e.g. a reference to a blob of
`native application data (a pointer to a (part 00 an application data structure. or a
`response buffer __.l. The OR.-‘vi protocol layer calls this function once for every unique
`handle/aspect combination (and not per Attribute) within a single Attributefiet Request.“
`[f the Hamttgcgt Fu nctmn returns a different pair or there are no more attribute nodes to
`process. the current aspect is released!
`
`Declaration:
`
`'.‘34:4.____~‘.-_ -3'. .-5 1' at-'.-1._fi.:;e::.'..‘a£.lt.‘iet:Funcl
`:'_.‘;-e-Je :‘
`-:t*:4_.=.;g:taer.;?.ee:--.-.-:
`r-.ai-..-:1-2.
`I‘ in '1'
`.'.'-E-‘..“.__.=t;_oA_=;r4sv:r.'.tef
`aspect.
`I‘
`in * I
`:.R.‘-»!_.-'-.c-i-::»==.t_a?‘-..--:.‘.'e:'
`':ur:en=:
`I‘ out ‘I
`I
`.'
`
`I
`
`Fields:
`
`handle
`
`aspect
`
`ctirrt-at
`
`Handle as retrieved from HanclleCet
`
`Aspect Reference. as retrieved from Handleflet
`
`W here to store the reference to the current value (opaque)
`
`3.1.20 Function Type ORM_AspeciCa!llnitFt.t.nc
`
`This function requests an «nip:-ct container from the application layer. e.g. a reference to a
`blob. where new attribute values can be selectivly written to to perform Attribute5e!
`requests. in addition hte application layer may return a reference to the current aspects
`values (cnip C'.allCetl. which is passed unchanged to the Callset routine. The ORM proto-
`col layer calls this function once {or every unique handle/aspect combination (and not
`per Attribute! within a single Attributeset Request. it the Handlefiet Function returns a
`different pair for a node or there are no more attribute nodes to process. the CallSet func-
`tion 15 called (Note: Aspectflelease is only called for aspects retrieved via CallCet!l The
`
`37
`
`EISDUSIDI -rWD_9fi}2a31.a. |__|_,
`
`(cid:51)(cid:72)(cid:87)(cid:76)(cid:87)(cid:76)(cid:82)(cid:81)(cid:72)(cid:85)(cid:86)(cid:3)(cid:55)(cid:90)(cid:76)(cid:87)(cid:87)(cid:72)(cid:85)(cid:15)(cid:3)(cid:44)(cid:81)(cid:70)(cid:17)(cid:3)(cid:68)(cid:81)(cid:71)(cid:3)(cid:60)(cid:72)(cid:79)(cid:83)(cid:3)(cid:44)(cid:81)(cid:70)(cid:17)(cid:3)(cid:16)(cid:3)(cid:40)(cid:91)(cid:75)(cid:76)(cid:69)(cid:76)(cid:87)(cid:3)(cid:20)(cid:19)(cid:19)(cid:27)(cid:3)(cid:16)(cid:3)(cid:51)(cid:68)(cid:74)(cid:72)(cid:3)(cid:21)(cid:20)(cid:28)
`Petitioners Twitter, Inc. and Yelp Inc. - Exhibit 1008 - Page 219
`
`
`
`W0 98il]283l
`
`PCTI'US97Il 1885
`
`ORM SSL Implementation of these functions copies the current values and returns a ref-
`erence to this copy in new and a reference to the current values in current.
`
`Declaration;
`
`.
`s
`:.;—_'
`
`2:‘:-.'
`r'.“=_f
`531::
`
`
`
`“—‘.". _.\.-tp-t-::Ca; 2 :ni:.-‘..:-:3)
`'.-‘rile.
`J‘ an -I
`
`t
`
`.t-_-;_.-=.-.'.‘:.
`‘flew.
`':;:.-:.:n:
`
`‘E
`1.-.
`1"
`1" out ‘I
`.~" our.
`'1
`
`httrntle
`
`tI:£'J|'l.‘f
`
`n.-rr
`
`Handle as retrieved from I-landleCet
`
`jtsptxt Reference. as retrieved from Hat'tdleCet
`
`where to store the reference to the native blob to update with new
`attribute values {opaque}
`
`cum-nt
`
`where to store the reference to the current aspect (opaque)
`
`3.1.21 Function Type ORM_AspectCallSetFunc
`
`This function is called to actually apply the new attribute values for the current aspect by
`the applicattott layer. It is up to the aspect/application layer, to check the values in the
`request structure for valiu:lit_v and consistency and to determine which attributes got new
`values (by cuntparison with the currt-at values). In addition it is the responsibility of the
`aspect/application layer to cleallocate any structures allocated by AspectCalllnit. Only if
`the Set-Function is not called, the call to Aspectkelease is performed.
`
`The ORM protocol layer calls Set-function once for every unique handlefaspect combina-
`tion (and not per Attribute} within a single Attributeset Request. it the I-landleCet Func-
`tion retunu a different pair for a node or there are no more attribute nodes to process. the
`Callset function is called (Note: Aspect Release is only called for aspects retrieved via
`Call(3et!) The ORM SSL implementation of these functions copies the current values and
`returns a reterence to this copy in may and a reference to the current values in current.
`
`Declaration.-
`
`1
`.‘.a-'-:~1_!':‘~::.-as " "<.=':4__.'.anec:caEtsecrunet
`.'.‘_lpt.'n’.1u?:.‘
`2:-‘.'*._.=».;_:.c-2-Lat.-:Le'.'-'=:
`'.-.sr..'.l1e.
`:'°
`in 4!
`.LF.\t__.‘-.;r-!-.s;at.-t:r..'Z-=:r'
`-t:.p-e.-ctz,
`J” in '1'
`-‘.‘P.V.__.%§:§:'.‘a:a:-‘-::t:~e£
`'.".EH'.
`3'
`in -1'
`‘La:-._.-‘t;:p1'.e-2 s?:rt’;e.'
`-.-urrent.
`!'
`1:1‘ *1
`\::"h'.‘.__:‘-I'..I".f'lQ_
`-:2-.1et.ai1
`-" out Mr
`I.‘
`
`I
`
`38
`
`ensooclo; ¢wo__9atrae:nm_:_.
`
`(cid:51)(cid:72)(cid:87)(cid:76)(cid:87)(cid:76)(cid:82)(cid:81)(cid:72)(cid:85)(cid:86)(cid:3)(cid:55)(cid:90)(cid:76)(cid:87)(cid:87)(cid:72)(cid:85)(cid:15)(cid:3)(cid:44)(cid:81)(cid:70)(cid:17)(cid:3)(cid:68)(cid:81)(cid:71)(cid:3)(cid:60)(cid:72)(cid:79)(cid:83)(cid:3)(cid:44)(cid:81)(cid:70)(cid:17)(cid:3)(cid:16)(cid:3)(cid:40)(cid:91)(cid:75)(cid:76)(cid:69)(cid:76)(cid:87)(cid:3)(cid:20)(cid:19)(cid:19)(cid:27)(cid:3)(cid:16)(cid:3)(cid:51)(cid:68)(cid:74)(cid:72)(cid:3)(cid:21)(cid:21)(cid:19)
`Petitioners Twitter, Inc. and Yelp Inc. - Exhibit 1008 - Page 220
`
`
`
`W0 98!0233 1
`
`PCTIUSQWI I885
`
`aspect
`
`re.-nu-st
`
`current
`
`rsdetaif
`
`returns
`
`_ Aspect Reference. as retrieved from Handlecet
`
`Where to store the reference to the nativeblob to update with new
`attribute values {opaque}
`
`Where to store the reierence to the current aspect {Opaque}
`
`Where to store a textual hint, why the call failed, if any.
`
`ORM_E.‘~'nError if new values could be applied successfully, else
`ORM_ERange.
`
`3.1.22 Function Type 0RM_AspectReteaseFunc
`
`Used to tell the application layer. that the reference retrieved via an AspectCet or Aspec.
`tlnit call is no longer needed anymore by the ORM layer. This function is calied, when
`CetHandle returns a new handle aspect call within a Attr'tbt.tteGet processing or a COl'lVe|--
`sion in an Atn-ibuteset processing failed.
`
`Declaration:
`
`:,-,-e&.=e:'
`
`_
`
`= ! -.-.:=;'_'heLea:eFur.cJ
`
`t
`
`-
`
`
`...-_.
`-53-
`-1 -::'._
`‘.=*f4_l
`.Z'‘‘‘'_ -6:--e5r.T,r;:. Se:
`1
`
`rt’-.-‘r;:,
`.-
`.=.::y_:e
`
`".0
`I
`'3
`." '..-t
`-a" 1:’: -I
`
`Fields
`
`handle
`
`:I$j7£'L'l
`
`cum-nr
`
`reqtype
`
`Handle as retrieved from Hand1eGet
`
`Aspect Reference, as retrieved from Handte-C-et
`
`Reference to data as returned from Aspectcalllnit or Aspect-
`C.1ItCet.
`
`ORM_RequestCet or 0RM_Request5et depending whether this
`dataptr resulted from an Asp:-ctGet or Aspectlnit call.
`
`3.1.23 ORM__AspectFt.tncDef
`
`This function groups the function painters of the aspect iayer
`
`39
`
`BNSDCICID. -:W0_9m2B31.n.1_|_;.
`
`(cid:51)(cid:72)(cid:87)(cid:76)(cid:87)(cid:76)(cid:82)(cid:81)(cid:72)(cid:85)(cid:86)(cid:3)(cid:55)(cid:90)(cid:76)(cid:87)(cid:87)(cid:72)(cid:85)(cid:15)(cid:3)(cid:44)(cid:81)(cid:70)(cid:17)(cid:3)(cid:68)(cid:81)(cid:71)(cid:3)(cid:60)(cid:72)(cid:79)(cid:83)(cid:3)(cid:44)(cid:81)(cid:70)(cid:17)(cid:3)(cid:16)(cid:3)(cid:40)(cid:91)(cid:75)(cid:76)(cid:69)(cid:76)(cid:87)(cid:3)(cid:20)(cid:19)(cid:19)(cid:27)(cid:3)(cid:16)(cid:3)(cid:51)(cid:68)(cid:74)(cid:72)(cid:3)(cid:21)(cid:21)(cid:20)
`Petitioners Twitter, Inc. and Yelp Inc. - Exhibit 1008 - Page 221
`
`
`
`W0 93/02831
`
`IPCTIUS97/H885
`
`Declaration:
`
`:Rx_AspcctFuncTag l
`typedef s~r:c:
`CPx_Aspec:ts;;5ecFu::
`:a;lqe::
`TR! Aspe:tCa.2Z::tF;::
`rallinit:
`:&\1_:-.sp-'a:::a1L$e:F:..*.:
`.‘..1‘;l8€-.
`:RM_Arpcc:ReteaseF;n?
`release:
`I
`:?x =::e::?4n::ef
`
`3.1.24 Attribute Functions
`
`The following group of functions is called to actually perform the the single attribute
`Ce!/Set and the corresponding conversions between the applications native and the
`ORM (ascii) presentation.
`
`3.1.25 Data Structure: ORlVl_AttributeIn§oDef
`
`This structure is used to return the all the meta information and the actual value ofan
`attribute. it is passed by reference to the application/attribute layer to be filled. Note: The
`string pointers do no! point to valid buffers. when passed to the attribute layer!
`
`STRING. HEXC T.
`
`;n -'.-.s ascis presencaciar.
`;u—;
`:a::e s::ing
`;;:-.-.: string
`
`....
`;'.r.a'.:
`
`_:‘.s.
`
`i
`
`II
`
`n «
`
`I
`I A
`3n 5.
`*5:
`--:;.,
`‘IE? A::t.au:eIn£3:e£:
`
`L.It- kt :')I IIing
`
`{D ‘O
`
`3.1.26 Function Type ORM_AttributeNativeToStringE-‘um:
`
`This function converts the applications native value of an attribute, specified by handle,
`aspect and the attribute descriptor to a C-string (ORM_Strlng).
`
`40
`
`BNSDDCID: <WO__9802B31 A1_l_>
`
`(cid:51)(cid:72)(cid:87)(cid:76)(cid:87)(cid:76)(cid:82)(cid:81)(cid:72)(cid:85)(cid:86)(cid:3)(cid:55)(cid:90)(cid:76)(cid:87)(cid:87)(cid:72)(cid:85)(cid:15)(cid:3)(cid:44)(cid:81)(cid:70)(cid:17)(cid:3)(cid:68)(cid:81)(cid:71)(cid:3)(cid:60)(cid:72)(cid:79)(cid:83)(cid:3)(cid:44)(cid:81)(cid:70)(cid:17)(cid:3)(cid:16)(cid:3)(cid:40)(cid:91)(cid:75)(cid:76)(cid:69)(cid:76)(cid:87)(cid:3)(cid:20)(cid:19)(cid:19)(cid:27)(cid:3)(cid:16)(cid:3)(cid:51)(cid:68)(cid:74)(cid:72)(cid:3)(cid:21)(cid:21)(cid:21)
`Petitioners Twitter, Inc. and Yelp Inc. - Exhibit 1008 - Page 222
`
`1%}:.e
`
`
`
`WO 98192831
`
`Declaration:
`
`PCTfUS97!l 1885
`
`I'c|'11~t__A:1zibuzetear.r.'eTo£::inqE'unt:It
`:5-rpedef Cm-i__S'.a'.u:
`".1:-N.
`.-\._:1:.i*.a-.nr.:1e!:'.-er‘
`handle.
`3"
`an ‘I
`if’:-t'__.=tj.:pA.-.pe.::Ze£
`aspect.
`." in ‘I
`_:?,M_;\g.ap.\:nri.t;:ca:rfI‘o£
`attrihdescr,
`«'°
`"an '!
`::'=..*-i_o‘«,-.-_.::>.ar.aPI:r3e:'
`datapcr.
`I‘
`in '3'
`.;.=.*1_:‘.: r;.::q
`‘ sI:rva';'.'e
`3' ' our.
`* I
`I
`:
`
`Fields:
`
`handle
`
`aspect
`
`Handle as obtained from the last can to HandieC.‘et or NULL.
`
`Aspect as returned from the last call to Handtefiet or NULL
`
`ortrit-«it-s..'r
`
`Attr-rbutur Descrtptor as returned for-In Art:-t'bD:scrGer call.
`
`Jrttnptr
`
`str-value
`
`mums
`
`Opaque Pointer as returned from AspectGetCall.
`
`where to store the reference to the convened value.
`
`OR.\.1_Et\'-o Error (Nun) if conversion was successfull, else a valid
`ORM Error return code.
`
`3.1.27 Function Type ORM_AttrihuteNativeTolnfo
`
`This functinn performs the same as the previous function ORM_Attribu!:NativeTaString.
`except that :1 also prm.-tdus the additional meta inforrnation to this attribute. as far as availa-
`ble.
`
`Declaration:
`
`2-,-pectef
`
`Fields:
`
`handle
`
`aspect
`
`i'C?¢1_At.1sibutettativefoin£cFun-:3t
`-‘.‘P.'4__3:.a-.u.-1
`‘.‘RM_.'.,-;pl-:an-:J.-:32 £
`handle.
`I ' in ' I
`I'.?¢'.‘_P._a.'.!'.'.‘-.5_:'Ntt'.‘tSe:'
`aspect‘.-.
`I’ in '.'
`:?-M .-\_:r.a:-. ri!:--’_'-escrcef
`at: tic:-:'.esc:.'. I -
`in 0 I
`"-"-'_.-‘.5-7 ‘
`1-
`t'-
`-14: .'n§.H‘.l'..
`-"'
`in 'o'
`.'-.v- 51:: .::-;:
`info
`.'-
`1:1.
`1.':'a¢i£'E‘L". out
`1
`.'
`.
`
`
`
`‘.4’
`"'
`
`Handle as obtained from the last call to Hand|eC.et or NULL
`
`Aspect as returned from the Last call to Handtecet or NULL
`
`altribtimzrr
`
`.-turitmtr Di-scriplor as returned form Altrt'bDest:rCet call.
`
`Jamprr _
`
`Uprtqtte Putnter as returned from Aspe-ctGetCali.
`
`extra;
`
`Pointer to structure, where to store the string references.
`
`4]
`
`E-NSDCX2lD; ¢wo__9en2aaun_:_.
`
`(cid:51)(cid:72)(cid:87)(cid:76)(cid:87)(cid:76)(cid:82)(cid:81)(cid:72)(cid:85)(cid:86)(cid:3)(cid:55)(cid:90)(cid:76)(cid:87)(cid:87)(cid:72)(cid:85)(cid:15)(cid:3)(cid:44)(cid:81)(cid:70)(cid:17)(cid:3)(cid:68)(cid:81)(cid:71)(cid:3)(cid:60)(cid:72)(cid:79)(cid:83)(cid:3)(cid:44)(cid:81)(cid:70)(cid:17)(cid:3)(cid:16)(cid:3)(cid:40)(cid:91)(cid:75)(cid:76)(cid:69)(cid:76)(cid:87)(cid:3)(cid:20)(cid:19)(cid:19)(cid:27)(cid:3)(cid:16)(cid:3)(cid:51)(cid:68)(cid:74)(cid:72)(cid:3)(cid:21)(cid:21)(cid:22)
`Petitioners Twitter, Inc. and Yelp Inc. - Exhibit 1008 - Page 223
`
`
`
`W0 9810233!
`
`PCT/U597! 1 1885
`
`returns
`
`O1'tM_Ef\'oError (Null) if conversion was successfult. else a valid
`ORM Error return code.
`
`3.1.28 Function Type ORM_AttributeStringTaNativeFunc
`
`This}-unction converts an ORM_Strtng value tor an attribute into the applications native
`presentation. The conversion should be done into the structure (dataptr) obtained by a
`call to AspectCatlInit(}.
`
`Declaration:
`
`: -,-pt-:-:to£
`
`':.=t:4___3: at : us
`
`
`
`-"t'.:'«.'~1__.=.-.-. :i::i.:I: es: ting?-':t:a: i. ve!"ur.c) t
`'
`-
`'
`:*..1r::l.'Le.
`2''
`tr:
`‘.-
`espect ,
`4' °
`31::
`-= r‘
`£tcI7ib':'.B:Ct.‘,"‘
`1.": -r
`..1a:a;'::c.
`-"
`-.3.
`i.::t.1i rec: cu: 0:
`Stt."J'aL1='§
`." .t..'I_ '/
`
`:;-:.e:'
`'
`
`Fields:
`
`handle
`
`a.~:;trt'.'
`
`Handle as obtained from the last cat! to Handle-Get or NULL
`
`Aspect as returned from the last call to HandleGet or NULL
`
`_
`
`attrttidrscr
`
`Anni-nit’ Descriptor as returned form Attrt'bDescrGct call.
`
`ttataptr
`
`strmtut»
`
`returns
`
`Opaque Pointer as returned from Aspet:tCetCall.
`
`.\.‘ew value as a C-String (ascii).
`
`ORM_E;N'oErrnr (Null) if conversion was successfutl, else a valid
`ORM Error return code.
`
`3.1.29 Structure ORM_AttributeFI.tncDef
`
`This stmcture bundtes the attribute related fiutclions for passing to Contetttlnitialize
`Declaration:
`
`I22-’.‘-1_At:r.r;:.;:eE‘uncTag t
`zypedet‘ st:--.::.-r.
`Cit.‘-t_.-\r.::i.2.n::e5::ui:;:'-3::3::~reFunc
`-2P.~1_A:::r:.:u:eNa:ive‘r:.-::::.i.ngFuni:
`‘:7-'..'4_Iic: ::r'.':t.'1‘I'-(I:i'.'-%T:2::f-3FI.Il'.C
`'IF."'!
`.-'-.!.:l'..'..‘t.u'=."J.'1::&.§:
`
`st'_cingconat..i.ve.-
`nazivecoatrinq:
`.i.l'|'fC.t3S‘Z:'il"tq.‘
`
`3.1.30 Structure ORM_ContextDef
`
`This is an internal structure to ORM and opaque to the application layer. It stores the
`func