aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/linden/scripts/messages/message_template.msg
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--linden/scripts/messages/message_template.msg9868
1 files changed, 9868 insertions, 0 deletions
diff --git a/linden/scripts/messages/message_template.msg b/linden/scripts/messages/message_template.msg
new file mode 100644
index 0000000..b44b099
--- /dev/null
+++ b/linden/scripts/messages/message_template.msg
@@ -0,0 +1,9868 @@
1// Linden Lab development message templates
2
3version 1.053
4
5// *************************************************************************
6// Test Message
7// *************************************************************************
8
9// Test Message
10
11{
12 TestMessage Low NotTrusted Zerocoded
13 {
14 TestBlock1 Single
15 { Test1 U32 }
16 }
17 {
18 NeighborBlock Multiple 4
19 { Test0 U32 }
20 { Test1 U32 }
21 { Test2 U32 }
22 }
23}
24
25// *************************************************************************
26// Messaging Internal Data Management Message
27// *************************************************************************
28
29// *************************
30// List fixed messages first
31// *************************
32
33// This is the newly updated version of the message template checksum
34// request. The token is there so that the viewer can drop responses
35// that do not match the supplied token.
36{
37 SecuredTemplateChecksumRequest Fixed 0xFFFFFFFA NotTrusted Unencoded
38 {
39 TokenBlock Single
40 { Token LLUUID }
41 }
42}
43
44// Packet Ack - Ack a list of packets sent reliable
45{
46 PacketAck Fixed 0xFFFFFFFB NotTrusted Unencoded
47 {
48 Packets Variable
49 { ID U32 }
50 }
51}
52
53// OpenCircuit - Tells the recipient's messaging system to open the descibed circuit
54{
55 OpenCircuit Fixed 0xFFFFFFFC NotTrusted Unencoded
56 {
57 CircuitInfo Single
58 { IP IPADDR }
59 { Port IPPORT }
60 }
61}
62
63// CloseCircuit - Tells the recipient's messaging system to close the descibed circuit
64{
65 CloseCircuit Fixed 0xFFFFFFFD NotTrusted Unencoded
66}
67
68
69// message template version check. Deprecated - the viewer should send a
70// SecuredTemplateChecksumRequest to prevent template checksum
71// injection with a bad checksum.
72{
73 TemplateChecksumRequest Fixed 0xFFFFFFFE NotTrusted Unencoded
74}
75
76// message template version check
77{
78 TemplateChecksumReply Fixed 0xFFFFFFFF NotTrusted Unencoded
79 {
80 DataBlock Single
81 { Checksum U32 }
82 { MajorVersion U8 }
83 { MinorVersion U8 }
84 { PatchVersion U8 }
85 { ServerVersion U8 }
86 { Flags U32 }
87 }
88 {
89 TokenBlock Single
90 { Token LLUUID }
91 }
92}
93
94// ******************
95// End fixed messages
96// ******************
97
98// StartPingCheck - used to measure circuit ping times
99// PingID is used to determine how backlogged the ping was that was
100// returned (or how hosed the other side is)
101{
102 StartPingCheck High NotTrusted Unencoded
103 {
104 PingID Single
105 { PingID U8 }
106 { OldestUnacked U32 } // Current oldest "unacked" packet on the sender side
107 }
108}
109
110// CompletePingCheck - used to measure circuit ping times
111
112{
113 CompletePingCheck High NotTrusted Unencoded
114 {
115 PingID Single
116 { PingID U8 }
117 }
118}
119
120// space->sim
121// sim->sim
122// AddCircuitCode - Tells the recipient's messaging system that this code
123// is for a legal circuit
124{
125 AddCircuitCode Low Trusted Unencoded
126 {
127 CircuitCode Single
128 { Code U32 }
129 { SessionID LLUUID }
130 { AgentID LLUUID } // WARNING - may be null in valid message
131 }
132}
133
134// viewer->sim
135// UseCircuitCode - Attempts to provide the recipient with IP and Port
136// info. In the case of viewers, the id is the session id. For other
137// machines it may be null. The session id will always be the session
138// id of the process, which every server will generate on startup and
139// the viewer will be handed after login.
140{
141 UseCircuitCode Low NotTrusted Unencoded
142 {
143 CircuitCode Single
144 { Code U32 }
145 { SessionID LLUUID }
146 { ID LLUUID } // agent id
147 }
148}
149
150// LogControl - This message allows us to remotely control the
151// runtime logging facilities of the error stream. This MUST match
152// the RelayLogControl message.
153// Level - DEBUG=0, INFO=1, WARN=2, FATAL=3 system displays level and greater
154// Mask - a bit mask. Set to 0xffff to display every type
155// Time - set to 1 to turn on timestamp, 0 to turn it off
156// Location - set to 1 to turn on file/line stamp, 0 to turn it off
157// RemoteInfos - set to 1 to log llinfo to the log server (in production)
158{
159 LogControl Low Trusted Unencoded
160 {
161 Options Single
162 { Level U8 }
163 { Mask U32 }
164 { Time BOOL }
165 { Location BOOL }
166 { RemoteInfos BOOL }
167 }
168}
169
170// RelayLogControl - Just like log control, but relayed around the
171// server side to adjust the log level. This is in a separate message
172// because the handler is a bit different, only implmented on some
173// processes, and requires application level knowledge. This MUST match
174// the LogControl message.
175{
176 RelayLogControl Low Trusted Unencoded
177 {
178 Options Single
179 { Level U8 }
180 { Mask U32 }
181 { Time BOOL }
182 { Location BOOL }
183 { RemoteInfos BOOL }
184 }
185}
186
187
188// LogMessages
189// Turns on or off message system logging
190{
191 LogMessages Low Trusted Unencoded
192 {
193 Options Single
194 { Enable BOOL } // BOOL
195 }
196}
197
198
199// *************************************************************************
200// SpaceServer to Simulator Messages
201// ************************************************************************
202
203// Neighbor List - Passed anytime neighbors change
204{
205 NeighborList High Trusted Unencoded
206 {
207 NeighborBlock Multiple 4
208 { IP IPADDR }
209 { Port IPPORT }
210 { PublicIP IPADDR }
211 { PublicPort IPPORT }
212 { RegionID LLUUID }
213 { Name Variable 1 } // string
214 { SimAccess U8 }
215 }
216}
217
218
219// Simulator Assignment - Tells a simulator where it is and who it's
220// neighbors are
221{
222 SimulatorAssign Low Trusted Zerocoded
223 {
224 RegionInfo Single
225 { GridsPerEdge S32 }
226 { MetersPerGrid F32 }
227 { Handle U64 }
228 { UsecSinceStart U64 }
229 { SecPerDay U32 }
230 { SecPerYear U32 }
231 { SunDirection LLVector3 }
232 { SunAngVelocity LLVector3 }
233 { IP IPADDR }
234 { Port IPPORT }
235 }
236 {
237 NeighborBlock Multiple 4
238 { IP IPADDR }
239 { Port IPPORT }
240 { PublicIP IPADDR }
241 { PublicPort IPPORT }
242 { Name Variable 1 } // string
243 { SimAccess U8 }
244 }
245}
246
247// SpaceServerSimulatorTimeMessage - Allows simulator to resynch to world time
248{
249 SpaceServerSimulatorTimeMessage Low Trusted Unencoded
250 {
251 TimeInfo Single
252 { UsecSinceStart U64 }
253 { SecPerDay U32 }
254 { SecPerYear U32 }
255 { SunDirection LLVector3 }
256 { SunPhase F32 }
257 { SunAngVelocity LLVector3 }
258 }
259}
260
261// ClosestSimulator - Passes the closest simulator back to a simulator
262{
263 ClosestSimulator Medium Trusted Unencoded
264 {
265 SimulatorBlock Single
266 { IP IPADDR }
267 { Port IPPORT }
268 { Handle U64 }
269 }
270 {
271 Viewer Single
272 { ID LLUUID }
273 }
274}
275
276// AvatarTextureUpdate
277// simulator -> dataserver
278// reliable
279{
280 AvatarTextureUpdate Low Trusted Zerocoded
281 {
282 AgentData Single
283 { AgentID LLUUID }
284 { TexturesChanged BOOL }
285 }
286 {
287 WearableData Variable
288 { CacheID LLUUID }
289 { TextureIndex U8 }
290 { HostName Variable 1 }
291 }
292 {
293 TextureData Variable
294 { TextureID LLUUID }
295 }
296}
297
298
299// SimulatorMapUpdate
300// simulator -> dataserver
301// reliable
302{
303 SimulatorMapUpdate Low Trusted Unencoded
304 {
305 MapData Single
306 { Flags U32 }
307 }
308}
309
310// SimulatorSetMap
311// simulator -> dataserver
312// reliable
313// Used to upload a map image into the database (currently used only for Land For Sale)
314{
315 SimulatorSetMap Low Trusted Unencoded
316 {
317 MapData Single
318 { RegionHandle U64 }
319 { Type S32 }
320 { MapImage LLUUID }
321 }
322}
323
324// SubscribeLoad
325// spaceserver -> simulator
326// reliable
327{
328 SubscribeLoad Low Trusted Unencoded
329}
330
331// UnsubscribeLoad
332// spaceserver -> simulator
333// reliable
334{
335 UnsubscribeLoad Low Trusted Unencoded
336}
337
338
339// ************************************************************************
340// Simulator to SpaceServer Messages
341// ************************************************************************
342
343// Simulator Start - Tells spaceserver that simulator is online and wants to be
344// assigned.
345{
346 SimulatorStart Low Trusted Unencoded
347 {
348 ControlPort Single
349 { Port IPPORT }
350 { PublicIP IPADDR }
351 { PublicPort IPPORT }
352 }
353 {
354 PositionSuggestion Single
355 { Ignore BOOL } // if non-zero, SS should put it in the next available slot
356 { GridX S32 }
357 { GridY S32 }
358 }
359}
360
361// SimulatorReady - indicates the sim has finished loading its state
362// and is ready to receive updates from others
363{
364 SimulatorReady Low Trusted Zerocoded
365 {
366 SimulatorBlock Single
367 { SimName Variable 1 }
368 { SimAccess U8 }
369 { RegionFlags U32 }
370 { RegionID LLUUID }
371 { EstateID U32 }
372 { ParentEstateID U32 }
373 }
374 {
375 TelehubBlock Single
376 { HasTelehub BOOL }
377 { TelehubPos LLVector3 }
378 }
379}
380
381// TelehubInfo - fill in the UI for telehub creation floater.
382// sim -> viewer
383// reliable
384{
385 TelehubInfo Low Trusted Unencoded
386 {
387 TelehubBlock Single
388 { ObjectID LLUUID } // null if no telehub
389 { ObjectName Variable 1 } // string
390 { TelehubPos LLVector3 } // fallback if viewer can't find object
391 { TelehubRot LLQuaternion }
392 }
393 {
394 SpawnPointBlock Variable
395 { SpawnPointPos LLVector3 } // relative to telehub position
396 }
397}
398
399// SimulatorPresentAtLocation - indicates that the sim is present at a grid
400// location and passes what it believes its neighbors are
401{
402 SimulatorPresentAtLocation Low Trusted Unencoded
403 {
404 SimulatorPublicHostBlock Single
405 { Port IPPORT }
406 { SimulatorIP IPADDR }
407 { GridX U32 }
408 { GridY U32 }
409 }
410 {
411 NeighborBlock Multiple 4
412 { IP IPADDR }
413 { Port IPPORT }
414 }
415 {
416 SimulatorBlock Single
417 { SimName Variable 1 }
418 { SimAccess U8 }
419 { RegionFlags U32 }
420 { RegionID LLUUID }
421 { EstateID U32 }
422 { ParentEstateID U32 }
423 }
424 {
425 TelehubBlock Variable
426 { HasTelehub BOOL }
427 { TelehubPos LLVector3 }
428 }
429}
430
431// SimulatorLoad
432// simulator -> spaceserver
433// reliable
434{
435 SimulatorLoad Low Trusted Unencoded
436 {
437 SimulatorLoad Single
438 { TimeDilation F32 }
439 { AgentCount S32 }
440 { CanAcceptAgents BOOL }
441 }
442 {
443 AgentList Variable
444 { CircuitCode U32 }
445 { X U8 }
446 { Y U8 }
447 }
448}
449
450// Simulator Shutdown Request - Tells spaceserver that a simulator is trying to shutdown
451{
452 SimulatorShutdownRequest Low Trusted Unencoded
453}
454
455// ****************************************************************************
456// Presense messages
457// ****************************************************************************
458
459// sim -> dataserver
460{
461 RegionPresenceRequestByRegionID Low Trusted Unencoded
462 {
463 RegionData Variable
464 { RegionID LLUUID }
465 }
466}
467
468sim -> dataserver
469{
470 RegionPresenceRequestByHandle Low Trusted Unencoded
471 {
472 RegionData Variable
473 { RegionHandle U64 }
474 }
475}
476
477// dataserver -> sim
478{
479 RegionPresenceResponse Low Trusted Zerocoded
480 {
481 RegionData Variable
482 { RegionID LLUUID }
483 { RegionHandle U64 }
484 { InternalRegionIP IPADDR }
485 { ExternalRegionIP IPADDR }
486 { RegionPort IPPORT }
487 { ValidUntil F64 }
488 { Message Variable 1 }
489 }
490}
491
492// Record agent presence - this totally supercedes the TrackAgentSession
493// and ClearAgentSessions functionality
494{
495 RecordAgentPresence Low Trusted Unencoded
496 {
497 RegionData Single
498 { RegionID LLUUID }
499 }
500 {
501 AgentData Variable
502 { AgentID LLUUID }
503 { SessionID LLUUID }
504 { SecureSessionID LLUUID }
505 { LocalX S16 }
506 { LocalY S16 }
507 { TimeToLive S32 } // in seconds
508 { Status S32 }
509 { EstateID U32 }
510 }
511}
512
513// Erase a set of agent presence records. Useful during logout or kick.
514{
515 EraseAgentPresence Low Trusted Unencoded
516 {
517 AgentData Variable
518 { AgentID LLUUID }
519 }
520}
521
522// request IP and port for agents
523{
524 AgentPresenceRequest Low Trusted Unencoded
525 {
526 AgentData Variable
527 { AgentID LLUUID }
528 }
529}
530
531// response for agent locations
532{
533 AgentPresenceResponse Low Trusted Unencoded
534 {
535 AgentData Variable
536 { AgentID LLUUID }
537 { RegionIP IPADDR }
538 { RegionPort IPPORT }
539 { ValidUntil F64 }
540 { EstateID U32 }
541 }
542}
543
544
545// ****************************************************************************
546// Simulator to dataserver messages
547// ****************************************************************************
548
549// Updates SimName, EstateID and SimAccess using RegionID as a key
550{
551 UpdateSimulator Low Trusted Unencoded
552 {
553 SimulatorInfo Single
554 { RegionID LLUUID }
555 { SimName Variable 1 }
556 { EstateID U32 }
557 { SimAccess U8 }
558 }
559}
560
561
562// The simulator sends out this message from time to time
563{
564 TrackAgentSession Low Trusted Unencoded
565 {
566 RegionData Single
567 { RegionX F32 }
568 { RegionY F32 }
569 { SpaceIP IPADDR }
570 { EstateID U32 }
571 { AgentCount U32 }
572 }
573 {
574 SessionInfo Variable
575 { SessionID LLUUID }
576 { ViewerIP IPADDR }
577 { ViewerPort IPPORT }
578 { GlobalX F64 }
579 { GlobalY F64 }
580 }
581}
582
583
584// clear out sessions for this sim, because it's coming up or going down
585{
586 ClearAgentSessions Low Trusted Unencoded
587 {
588 RegionInfo Single
589 { RegionX U32 }
590 { RegionY U32 }
591 { SpaceIP IPADDR }
592 }
593}
594
595// record dwell time.
596{
597 LogDwellTime Low Trusted Unencoded
598 {
599 DwellInfo Single
600 { AgentID LLUUID }
601 { SessionID LLUUID }
602 { Duration F32 }
603 { SimName Variable 1 }
604 { RegionX U32 }
605 { RegionY U32 }
606 { AvgAgentsInView U8 }
607 { AvgViewerFPS U8 }
608 }
609}
610
611// Disabled feature response message
612{
613 FeatureDisabled Low Trusted Unencoded
614 {
615 FailureInfo Single
616 { ErrorMessage Variable 1 }
617 { AgentID LLUUID }
618 { TransactionID LLUUID }
619 }
620}
621
622
623// record lost money transactions. This message could be generated
624// from either the simulator or the dataserver, depending on how
625// the transaction failed.
626{
627 LogFailedMoneyTransaction Low Trusted Unencoded
628 {
629 TransactionData Single
630 { TransactionID LLUUID }
631 { TransactionTime U32 } // utc seconds since epoch
632 { TransactionType S32 } // see lltransactiontypes.h
633 { SourceID LLUUID }
634 { DestID LLUUID } // destination of the transfer
635 { Flags U8 }
636 { Amount S32 }
637 { SimulatorIP IPADDR } // U32 encoded IP
638 { GridX U32 }
639 { GridY U32 }
640 { FailureType U8 }
641 }
642}
643
644// complaint/bug-report - sim -> dataserver. see UserReport for details.
645// reliable
646{
647 UserReportInternal Low Trusted Zerocoded
648 {
649 ReportData Single
650 { ReportType U8 }
651 { Category U8 }
652 { ReporterID LLUUID }
653 { ViewerPosition LLVector3 }
654 { AgentPosition LLVector3 }
655 { ScreenshotID LLUUID }
656 { ObjectID LLUUID }
657 { OwnerID LLUUID }
658 { LastOwnerID LLUUID }
659 { CreatorID LLUUID }
660 { RegionID LLUUID }
661 { AbuserID LLUUID }
662 { AbuseRegionName Variable 1 }
663 { AbuseRegionID LLUUID }
664 { Summary Variable 1 }
665 { Details Variable 2 }
666 { VersionString Variable 1 }
667 }
668}
669
670// SetSimStatusInDatabase
671// alters the "simulator" table in the database
672// sim -> dataserver
673// reliable
674{
675 SetSimStatusInDatabase Low Trusted Unencoded
676 {
677 Data Single
678 { RegionID LLUUID }
679 { HostName Variable 1 }
680 { X S32 }
681 { Y S32 }
682 { PID S32 }
683 { AgentCount S32 }
684 { TimeToLive S32 } // in seconds
685 { Status Variable 1 }
686 }
687}
688
689// SetSimPresenceInDatabase
690// updates the "presence" table in the database to ensure
691// that a given simulator is present and valid for a set amount of
692// time
693{
694 SetSimPresenceInDatabase Low Trusted Unencoded
695 {
696 SimData Single
697 { RegionID LLUUID }
698 { HostName Variable 1 }
699 { GridX U32 }
700 { GridY U32 }
701 { PID S32 }
702 { AgentCount S32 }
703 { TimeToLive S32 } // in seconds
704 { Status Variable 1 }
705 }
706}
707
708// ***************************************************************************
709// Economy messages
710// ***************************************************************************
711
712// once we use local stats, this will include a region handle
713{
714 EconomyDataRequest Low NotTrusted Unencoded
715}
716
717// dataserver to sim, response w/ econ data
718{
719 EconomyData Low Trusted Zerocoded
720 {
721 Info Single
722 { ObjectCapacity S32 }
723 { ObjectCount S32 }
724 { PriceEnergyUnit S32 }
725 { PriceObjectClaim S32 }
726 { PricePublicObjectDecay S32 }
727 { PricePublicObjectDelete S32 }
728 { PriceParcelClaim S32 }
729 { PriceParcelClaimFactor F32 }
730 { PriceUpload S32 }
731 { PriceRentLight S32 }
732 { TeleportMinPrice S32 }
733 { TeleportPriceExponent F32 }
734 { EnergyEfficiency F32 }
735 { PriceObjectRent F32 }
736 { PriceObjectScaleFactor F32 }
737 { PriceParcelRent S32 }
738 { PriceGroupCreate S32 }
739 }
740}
741
742// ***************************************************************************
743// Search messages
744// ***************************************************************************
745
746// AvatarPickerRequest
747// Get a list of names to select a person
748// viewer -> sim -> data
749// reliable
750{
751 AvatarPickerRequest Low NotTrusted Unencoded
752 {
753 AgentData Single
754 { AgentID LLUUID }
755 { SessionID LLUUID }
756 { QueryID LLUUID }
757 }
758 {
759 Data Single
760 { Name Variable 1 }
761 }
762}
763
764// backend implementation which tracks if the user is a god.
765{
766 AvatarPickerRequestBackend Low Trusted Unencoded
767 {
768 AgentData Single
769 { AgentID LLUUID }
770 { SessionID LLUUID }
771 { QueryID LLUUID }
772 { GodLevel U8 }
773 }
774 {
775 Data Single
776 { Name Variable 1 }
777 }
778}
779
780// AvatarPickerReply
781// List of names to select a person
782// reliable
783{
784 AvatarPickerReply Low Trusted Unencoded
785 {
786 AgentData Single
787 { AgentID LLUUID }
788 { QueryID LLUUID }
789 }
790 {
791 Data Variable
792 { AvatarID LLUUID }
793 { FirstName Variable 1 }
794 { LastName Variable 1 }
795 }
796}
797
798// PlacesQuery
799// Used for getting a list of places for the group land panel
800// and the user land holdings panel. NOT for the directory.
801{
802 PlacesQuery Low NotTrusted Zerocoded
803 {
804 AgentData Single
805 { AgentID LLUUID }
806 { SessionID LLUUID }
807 { QueryID LLUUID }
808 }
809 {
810 TransactionData Single
811 { TransactionID LLUUID }
812 }
813 {
814 QueryData Single
815 { QueryText Variable 1 }
816 { QueryFlags U32 }
817 { Category S8 }
818 { SimName Variable 1 }
819 }
820}
821
822// PlacesReply
823// dataserver -> simulator -> viewer
824// If the user has specified a location, use that to compute
825// global x,y,z. Otherwise, use center of the AABB.
826// reliable
827{
828 PlacesReply Low Trusted Zerocoded
829 {
830 AgentData Single
831 { AgentID LLUUID }
832 { QueryID LLUUID }
833 }
834 {
835 TransactionData Single
836 { TransactionID LLUUID }
837 }
838 {
839 QueryData Variable
840 { OwnerID LLUUID }
841 { Name Variable 1 }
842 { Desc Variable 1 }
843 { ActualArea S32 }
844 { BillableArea S32 }
845 { Flags U8 }
846 { GlobalX F32 } // meters
847 { GlobalY F32 } // meters
848 { GlobalZ F32 } // meters
849 { SimName Variable 1 }
850 { SnapshotID LLUUID }
851 { Dwell F32 }
852 { Price S32 }
853 }
854}
855
856// DirFindQuery viewer->sim
857// Message to start asking questions for the directory
858{
859 DirFindQuery Low NotTrusted Zerocoded
860 {
861 AgentData Single
862 { AgentID LLUUID }
863 { SessionID LLUUID }
864 }
865 {
866 QueryData Single
867 { QueryID LLUUID }
868 { QueryText Variable 1 }
869 { QueryFlags U32 }
870 { QueryStart S32 } // prev/next page support
871 }
872}
873
874// DirFindQueryBackend sim->data
875// Trusted message generated by receipt of DirFindQuery to sim.
876{
877 DirFindQueryBackend Low Trusted Zerocoded
878 {
879 AgentData Single
880 { AgentID LLUUID }
881 }
882 {
883 QueryData Single
884 { QueryID LLUUID }
885 { QueryText Variable 1 }
886 { QueryFlags U32 }
887 { QueryStart S32 } // prev/next page support
888 { EstateID U32 }
889 { Godlike BOOL }
890 }
891}
892
893
894// DirPlacesQuery viewer->sim
895// Used for the Find directory of places
896{
897 DirPlacesQuery Low NotTrusted Zerocoded
898 {
899 AgentData Single
900 { AgentID LLUUID }
901 { SessionID LLUUID }
902 }
903 {
904 QueryData Single
905 { QueryID LLUUID }
906 { QueryText Variable 1 }
907 { QueryFlags U32 }
908 { Category S8 }
909 { SimName Variable 1 }
910 { QueryStart S32 }
911 }
912}
913
914// DirPlacesQueryBackend sim->dataserver
915// Used for the Find directory of places.
916{
917 DirPlacesQueryBackend Low Trusted Zerocoded
918 {
919 AgentData Single
920 { AgentID LLUUID }
921 }
922 {
923 QueryData Single
924 { QueryID LLUUID }
925 { QueryText Variable 1 }
926 { QueryFlags U32 }
927 { Category S8 }
928 { SimName Variable 1 }
929 { EstateID U32 }
930 { Godlike BOOL }
931 { QueryStart S32 }
932 }
933}
934
935// DirPlacesReply dataserver->sim->viewer
936// If the user has specified a location, use that to compute
937// global x,y,z. Otherwise, use center of the AABB.
938// reliable
939{
940 DirPlacesReply Low Trusted Zerocoded
941 {
942 AgentData Single
943 { AgentID LLUUID }
944 }
945 {
946 QueryData Variable
947 { QueryID LLUUID }
948 }
949 {
950 QueryReplies Variable
951 { ParcelID LLUUID }
952 { Name Variable 1 }
953 { ForSale BOOL }
954 { Auction BOOL }
955 { ReservedNewbie BOOL }
956 { Dwell F32 }
957 }
958}
959
960// DirPeopleReply
961{
962 DirPeopleReply Low Trusted Zerocoded
963 {
964 AgentData Single
965 { AgentID LLUUID }
966 }
967 {
968 QueryData Single
969 { QueryID LLUUID }
970 }
971 {
972 QueryReplies Variable
973 { AgentID LLUUID }
974 { FirstName Variable 1 }
975 { LastName Variable 1 }
976 { Group Variable 1 }
977 { Online BOOL }
978 { Reputation S32 }
979 }
980}
981
982// DirEventsReply
983{
984 DirEventsReply Low Trusted Zerocoded
985 {
986 AgentData Single
987 { AgentID LLUUID }
988 }
989 {
990 QueryData Single
991 { QueryID LLUUID }
992 }
993 {
994 QueryReplies Variable
995 { OwnerID LLUUID }
996 { Name Variable 1 }
997 { EventID U32 }
998 { Date Variable 1 }
999 { UnixTime U32 }
1000 { EventFlags U32 }
1001 }
1002}
1003
1004// DirGroupsReply
1005// dataserver -> userserver -> viewer
1006// reliable
1007{
1008 DirGroupsReply Low Trusted Zerocoded
1009 {
1010 AgentData Single
1011 { AgentID LLUUID }
1012 }
1013 {
1014 QueryData Single
1015 { QueryID LLUUID }
1016 }
1017 {
1018 QueryReplies Variable
1019 { GroupID LLUUID }
1020 { GroupName Variable 1 } // string
1021 { Members S32 }
1022 { OpenEnrollment BOOL }
1023 { MembershipFee S32 }
1024 }
1025}
1026
1027
1028// DirClassifiedQuery viewer->sim
1029// reliable
1030{
1031 DirClassifiedQuery Low NotTrusted Zerocoded
1032 {
1033 AgentData Single
1034 { AgentID LLUUID }
1035 { SessionID LLUUID }
1036 }
1037 {
1038 QueryData Single
1039 { QueryID LLUUID }
1040 { QueryText Variable 1 }
1041 { QueryFlags U32 }
1042 { Category U32 }
1043 { QueryStart S32 }
1044 }
1045}
1046
1047// DirClassifiedQueryBackend sim->dataserver
1048// reliable
1049{
1050 DirClassifiedQueryBackend Low Trusted Zerocoded
1051 {
1052 AgentData Single
1053 { AgentID LLUUID }
1054 }
1055 {
1056 QueryData Single
1057 { QueryID LLUUID }
1058 { QueryText Variable 1 }
1059 { QueryFlags U32 }
1060 { Category U32 }
1061 { EstateID U32 }
1062 { Godlike BOOL }
1063 { QueryStart S32 }
1064 }
1065}
1066
1067// DirClassifiedReply dataserver->sim->viewer
1068// reliable
1069{
1070 DirClassifiedReply Low Trusted Zerocoded
1071 {
1072 AgentData Single
1073 { AgentID LLUUID }
1074 }
1075 {
1076 QueryData Single
1077 { QueryID LLUUID }
1078 }
1079 {
1080 QueryReplies Variable
1081 { ClassifiedID LLUUID }
1082 { Name Variable 1 }
1083 { ClassifiedFlags U8 }
1084 { CreationDate U32 }
1085 { ExpirationDate U32 }
1086 { PriceForListing S32 }
1087 }
1088}
1089
1090
1091// AvatarClassifiedReply
1092// dataserver -> simulator -> viewer
1093// Send the header information for this avatar's classifieds
1094// This fills in the tabs of the Classifieds panel.
1095// reliable
1096{
1097 AvatarClassifiedReply Low Trusted Unencoded
1098 {
1099 AgentData Single
1100 { AgentID LLUUID }
1101 { TargetID LLUUID }
1102 }
1103 {
1104 Data Variable
1105 { ClassifiedID LLUUID }
1106 { Name Variable 1 }
1107 }
1108}
1109
1110
1111// ClassifiedInfoRequest
1112// viewer -> simulator
1113// simulator -> dataserver
1114// reliable
1115{
1116 ClassifiedInfoRequest Low NotTrusted Zerocoded
1117 {
1118 AgentData Single
1119 { AgentID LLUUID }
1120 { SessionID LLUUID }
1121 }
1122 {
1123 Data Single
1124 { ClassifiedID LLUUID }
1125 }
1126}
1127
1128
1129// ClassifiedInfoReply
1130// dataserver -> simulator
1131// simulator -> viewer
1132// reliable
1133{
1134 ClassifiedInfoReply Low Trusted Unencoded
1135 {
1136 AgentData Single
1137 { AgentID LLUUID }
1138 }
1139 {
1140 Data Single
1141 { ClassifiedID LLUUID }
1142 { CreatorID LLUUID }
1143 { CreationDate U32 }
1144 { ExpirationDate U32 }
1145 { Category U32 }
1146 { Name Variable 1 }
1147 { Desc Variable 2 }
1148 { ParcelID LLUUID }
1149 { ParentEstate U32 }
1150 { SnapshotID LLUUID }
1151 { SimName Variable 1 }
1152 { PosGlobal LLVector3d }
1153 { ParcelName Variable 1 }
1154 { ClassifiedFlags U8 }
1155 { PriceForListing S32 }
1156 }
1157}
1158
1159
1160// ClassifiedInfoUpdate
1161// Update a classified. ParcelID and EstateID are set
1162// on the simulator as the message passes through.
1163// viewer -> simulator -> dataserver
1164// reliable
1165{
1166 ClassifiedInfoUpdate Low NotTrusted Unencoded
1167 {
1168 AgentData Single
1169 { AgentID LLUUID }
1170 { SessionID LLUUID }
1171 }
1172 {
1173 Data Single
1174 { ClassifiedID LLUUID }
1175 { Category U32 }
1176 { Name Variable 1 }
1177 { Desc Variable 2 }
1178 { ParcelID LLUUID }
1179 { ParentEstate U32 }
1180 { SnapshotID LLUUID }
1181 { PosGlobal LLVector3d }
1182 { ClassifiedFlags U8 }
1183 { PriceForListing S32 }
1184 }
1185}
1186
1187
1188// ClassifiedDelete
1189// Delete a classified from the database.
1190// viewer -> simulator -> dataserver
1191// reliable
1192{
1193 ClassifiedDelete Low NotTrusted Unencoded
1194 {
1195 AgentData Single
1196 { AgentID LLUUID }
1197 { SessionID LLUUID }
1198 }
1199 {
1200 Data Single
1201 { ClassifiedID LLUUID }
1202 }
1203}
1204
1205// ClassifiedGodDelete
1206// Delete a classified from the database.
1207// QueryID is needed so database can send a repeat list of
1208// classified.
1209// viewer -> simulator -> dataserver
1210// reliable
1211{
1212 ClassifiedGodDelete Low NotTrusted Unencoded
1213 {
1214 AgentData Single
1215 { AgentID LLUUID }
1216 { SessionID LLUUID }
1217 }
1218 {
1219 Data Single
1220 { ClassifiedID LLUUID }
1221 { QueryID LLUUID }
1222 }
1223}
1224
1225
1226
1227// DirPicksQuery viewer->sim
1228// reliable
1229{
1230 DirPicksQuery Low NotTrusted Zerocoded
1231 {
1232 AgentData Single
1233 { AgentID LLUUID }
1234 { SessionID LLUUID }
1235 }
1236 {
1237 QueryData Single
1238 { QueryID LLUUID }
1239 { QueryFlags U32 }
1240 }
1241}
1242
1243// DirPicksQueryBackend sim->dataserver
1244// reliable
1245{
1246 DirPicksQueryBackend Low Trusted Zerocoded
1247 {
1248 AgentData Single
1249 { AgentID LLUUID }
1250 }
1251 {
1252 QueryData Single
1253 { QueryID LLUUID }
1254 { QueryFlags U32 }
1255 { EstateID U32 }
1256 { Godlike BOOL }
1257 }
1258}
1259
1260// DirPicksReply dataserver->sim->viewer
1261// reliable
1262{
1263 DirPicksReply Low Trusted Zerocoded
1264 {
1265 AgentData Single
1266 { AgentID LLUUID }
1267 }
1268 {
1269 QueryData Single
1270 { QueryID LLUUID }
1271 }
1272 {
1273 QueryReplies Variable
1274 { PickID LLUUID }
1275 { Name Variable 1 }
1276 { Enabled BOOL }
1277 }
1278}
1279
1280
1281// DirLandQuery viewer->sim
1282// Special query for the land for sale/auction panel.
1283// reliable
1284{
1285 DirLandQuery Low NotTrusted Zerocoded
1286 {
1287 AgentData Single
1288 { AgentID LLUUID }
1289 { SessionID LLUUID }
1290 }
1291 {
1292 QueryData Single
1293 { QueryID LLUUID }
1294 { QueryFlags U32 }
1295 { SearchType U32 }
1296 { Price S32 }
1297 { Area S32 }
1298 { QueryStart S32 }
1299 }
1300}
1301
1302// DirLandQueryBackend sim->dataserver
1303// Special query for the land for sale/auction panel.
1304{
1305 DirLandQueryBackend Low Trusted Zerocoded
1306 {
1307 AgentData Single
1308 { AgentID LLUUID }
1309 }
1310 {
1311 QueryData Single
1312 { QueryID LLUUID }
1313 { QueryFlags U32 }
1314 { SearchType U32 }
1315 { Price S32 }
1316 { Area S32 }
1317 { QueryStart S32 }
1318 { EstateID U32 }
1319 { Godlike BOOL }
1320 }
1321}
1322
1323// DirLandReply
1324// dataserver -> simulator -> viewer
1325// reliable
1326{
1327 DirLandReply Low Trusted Zerocoded
1328 {
1329 AgentData Single
1330 { AgentID LLUUID }
1331 }
1332 {
1333 QueryData Single
1334 { QueryID LLUUID }
1335 }
1336 {
1337 QueryReplies Variable
1338 { ParcelID LLUUID }
1339 { Name Variable 1 }
1340 { Auction BOOL }
1341 { ForSale BOOL }
1342 { ReservedNewbie BOOL }
1343 { SalePrice S32 }
1344 { ActualArea S32 }
1345 }
1346}
1347
1348// DirPopularQuery viewer->sim
1349// Special query for the land for sale/auction panel.
1350// reliable
1351{
1352 DirPopularQuery Low NotTrusted Zerocoded
1353 {
1354 AgentData Single
1355 { AgentID LLUUID }
1356 { SessionID LLUUID }
1357 }
1358 {
1359 QueryData Single
1360 { QueryID LLUUID }
1361 { QueryFlags U32 }
1362 }
1363}
1364
1365// DirPopularQueryBackend sim->dataserver
1366// Special query for the land for sale/auction panel.
1367// reliable
1368{
1369 DirPopularQueryBackend Low Trusted Zerocoded
1370 {
1371 AgentData Single
1372 { AgentID LLUUID }
1373 }
1374 {
1375 QueryData Single
1376 { QueryID LLUUID }
1377 { QueryFlags U32 }
1378 { EstateID U32 }
1379 { Godlike BOOL }
1380 }
1381}
1382
1383// DirPopularReply
1384// dataserver -> simulator -> viewer
1385// reliable
1386{
1387 DirPopularReply Low Trusted Zerocoded
1388 {
1389 AgentData Single
1390 { AgentID LLUUID }
1391 }
1392 {
1393 QueryData Single
1394 { QueryID LLUUID }
1395 }
1396 {
1397 QueryReplies Variable
1398 { ParcelID LLUUID }
1399 { Name Variable 1 }
1400 { Dwell F32 }
1401 }
1402}
1403
1404// ParcelInfoRequest
1405// viewer -> simulator -> dataserver
1406// reliable
1407{
1408 ParcelInfoRequest Low NotTrusted Unencoded
1409 {
1410 AgentData Single
1411 { AgentID LLUUID }
1412 { SessionID LLUUID }
1413 }
1414 {
1415 Data Single
1416 { ParcelID LLUUID }
1417 }
1418}
1419
1420// ParcelInfoReply
1421// dataserver -> simulator -> viewer
1422// reliable
1423{
1424 ParcelInfoReply Low Trusted Zerocoded
1425 {
1426 AgentData Single
1427 { AgentID LLUUID }
1428 }
1429 {
1430 Data Single
1431 { ParcelID LLUUID }
1432 { OwnerID LLUUID }
1433 { Name Variable 1 }
1434 { Desc Variable 1 }
1435 { ActualArea S32 }
1436 { BillableArea S32 }
1437 { Flags U8 }
1438 { GlobalX F32 } // meters
1439 { GlobalY F32 } // meters
1440 { GlobalZ F32 } // meters
1441 { SimName Variable 1 }
1442 { SnapshotID LLUUID }
1443 { Dwell F32 }
1444 { SalePrice S32 }
1445 { AuctionID S32 }
1446 }
1447}
1448
1449
1450// ParcelObjectOwnersRequest
1451// viewer -> simulator
1452// reliable
1453{
1454 ParcelObjectOwnersRequest Low NotTrusted Unencoded
1455 {
1456 AgentData Single
1457 { AgentID LLUUID }
1458 { SessionID LLUUID }
1459 }
1460 {
1461 ParcelData Single
1462 { LocalID S32 }
1463 }
1464}
1465
1466// simulator -> dataserver
1467// reliable
1468{
1469 OnlineStatusRequest Low Trusted Unencoded
1470 {
1471 AgentData Single
1472 { AgentID LLUUID }
1473 { QueryID LLUUID }
1474 { EstateID U32 }
1475 { Godlike BOOL }
1476 { SpaceIP IPADDR } // check online for right farm
1477 }
1478 {
1479 Data Variable
1480 { ID LLUUID }
1481 }
1482}
1483
1484// dataserver -> simulator
1485// reliable
1486{
1487 OnlineStatusReply Low Trusted Zerocoded
1488 {
1489 AgentData Single
1490 { AgentID LLUUID }
1491 { QueryID LLUUID }
1492 }
1493 {
1494 Data Variable
1495 { ID LLUUID } // only online agents are returned
1496 }
1497}
1498
1499// ParcelObjectOwnersReply
1500// simulator -> viewer
1501// reliable
1502{
1503 ParcelObjectOwnersReply Low Trusted Zerocoded
1504 {
1505 Data Variable
1506 { OwnerID LLUUID }
1507 { IsGroupOwned BOOL }
1508 { Count S32 }
1509 { OnlineStatus BOOL }
1510 }
1511}
1512
1513// GroupNoticeListRequest
1514// viewer -> simulator -> dataserver
1515// reliable
1516{
1517 GroupNoticesListRequest Low NotTrusted Unencoded
1518 {
1519 AgentData Single
1520 { AgentID LLUUID }
1521 { SessionID LLUUID }
1522 }
1523 {
1524 Data Single
1525 { GroupID LLUUID }
1526 }
1527}
1528
1529// GroupNoticesListReply
1530// dataserver -> simulator -> viewer
1531// reliable
1532{
1533 GroupNoticesListReply Low Trusted Unencoded
1534 {
1535 AgentData Single
1536 { AgentID LLUUID }
1537 { GroupID LLUUID }
1538 }
1539 {
1540 Data Variable
1541 { NoticeID LLUUID }
1542 { Timestamp U32 }
1543 { FromName Variable 2 }
1544 { Subject Variable 2 }
1545 { HasAttachment BOOL }
1546 { AssetType U8 }
1547 }
1548}
1549
1550// GroupNoticeRequest
1551// viewer -> simulator
1552// simulator -> dataserver
1553// reliable
1554{
1555 GroupNoticeRequest Low NotTrusted Unencoded
1556 {
1557 AgentData Single
1558 { AgentID LLUUID }
1559 { SessionID LLUUID }
1560 }
1561 {
1562 Data Single
1563 { GroupNoticeID LLUUID }
1564 }
1565}
1566
1567// GroupNoticeAdd
1568// Add a group notice.
1569// simulator -> dataserver
1570// reliable
1571{
1572 GroupNoticeAdd Low Trusted Unencoded
1573 {
1574 AgentData Single
1575 { AgentID LLUUID }
1576 }
1577 {
1578 MessageBlock Single
1579 { ToGroupID LLUUID }
1580 { ID LLUUID }
1581 { Dialog U8 }
1582 { FromAgentName Variable 1 }
1583 { Message Variable 2 }
1584 { BinaryBucket Variable 2 }
1585 }
1586}
1587
1588
1589// GroupNoticeDelete
1590// Delete a group notice from the database.
1591// viewer -> simulator -> dataserver
1592// reliable
1593{
1594 GroupNoticeDelete Low NotTrusted Unencoded
1595 {
1596 AgentData Single
1597 { AgentID LLUUID }
1598 { SessionID LLUUID }
1599 }
1600 {
1601 Data Single
1602 { GroupNoticeID LLUUID }
1603 { GroupID LLUUID }
1604 }
1605}
1606
1607
1608
1609// ****************************************************************************
1610// Teleport messages
1611//
1612// The teleport messages are numerous, so I have attempted to give them a
1613// consistent naming convention. Since there is a bit of glob pattern
1614// aliasing, the rules are applied in order.
1615//
1616// Teleport* - viewer->sim or sim->viewer message which announces a
1617// teleportation request, progrees, start, or end.
1618// Data* - sim->data or data->sim trusted message.
1619// Space* - sim->space or space->sim trusted messaging
1620// *Lure - A lure message to pass around information.
1621//
1622// All actual viewer teleports will begin with a Teleport* message and
1623// end in a TeleportStart, TeleportLocal or TeleportFailed message. The TeleportFailed
1624// message may be returned by any process and must be routed through the
1625// teleporting agent's simulator and back to the viewer.
1626// ****************************************************************************
1627
1628// TeleportRequest
1629// viewer -> sim specifying exact teleport destination
1630{
1631 TeleportRequest Low NotTrusted Unencoded
1632 {
1633 AgentData Single
1634 { AgentID LLUUID }
1635 { SessionID LLUUID }
1636 }
1637 {
1638 Info Single
1639 { RegionID LLUUID }
1640 { Position LLVector3 }
1641 { LookAt LLVector3 }
1642 }
1643}
1644
1645// TeleportLocationRequest
1646// viewer -> sim specifying exact teleport destination
1647{
1648 TeleportLocationRequest Low NotTrusted Unencoded
1649 {
1650 AgentData Single
1651 { AgentID LLUUID }
1652 { SessionID LLUUID }
1653 }
1654 {
1655 Info Single
1656 { RegionHandle U64 }
1657 { Position LLVector3 }
1658 { LookAt LLVector3 }
1659 }
1660}
1661
1662// TeleportLocal
1663// sim -> viewer reply telling the viewer that we've successfully TP'd
1664// to somewhere else within the sim
1665{
1666 TeleportLocal Low Trusted Unencoded
1667 {
1668 Info Single
1669 { AgentID LLUUID }
1670 { LocationID U32 }
1671 { Position LLVector3 } // region
1672 { LookAt LLVector3 }
1673 { TeleportFlags U32 }
1674 }
1675}
1676
1677// TeleportLandmarkRequest viewer->sim
1678// teleport to landmark asset ID destination. use LLUUD::null for home.
1679{
1680 TeleportLandmarkRequest Low NotTrusted Zerocoded
1681 {
1682 Info Single
1683 { AgentID LLUUID }
1684 { SessionID LLUUID }
1685 { LandmarkID LLUUID }
1686 }
1687}
1688
1689// TeleportProgress sim->viewer
1690// Tell the agent how the teleport is going.
1691{
1692 TeleportProgress Low Trusted Unencoded
1693 {
1694 AgentData Single
1695 { AgentID LLUUID }
1696 }
1697 {
1698 Info Single
1699 { TeleportFlags U32 }
1700 { Message Variable 1 } // string
1701 }
1702}
1703
1704// DataHomeLocationRequest sim->data
1705// Request
1706{
1707 DataHomeLocationRequest Low Trusted Zerocoded
1708 {
1709 Info Single
1710 { AgentID LLUUID }
1711 { KickedFromEstateID U32 }
1712 }
1713}
1714
1715// DataHomeLocationReply data->sim
1716// response is the location of agent home.
1717{
1718 DataHomeLocationReply Low Trusted Unencoded
1719 {
1720 Info Single
1721 { AgentID LLUUID }
1722 { RegionHandle U64 }
1723 { Position LLVector3 } // region coords
1724 { LookAt LLVector3 }
1725 }
1726}
1727
1728// SpaceLocationTeleportRequest sim->space
1729// Reuqest for info about remote location
1730{
1731 SpaceLocationTeleportRequest Low Trusted Unencoded
1732 {
1733 Info Single
1734 { AgentID LLUUID }
1735 { SessionID LLUUID }
1736 { CircuitCode U32 }
1737 { RegionHandle U64 }
1738 { Position LLVector3 } // region
1739 { LookAt LLVector3 }
1740 { TravelAccess U8 }
1741 { ParentEstateID U32 }
1742 { TeleportFlags U32 }
1743 }
1744}
1745
1746// SpaceLocationTeleportReply space->sim
1747// with info about remote location
1748{
1749 SpaceLocationTeleportReply Low Trusted Unencoded
1750 {
1751 Info Single
1752 { AgentID LLUUID }
1753 { LocationID U32 }
1754 { SimIP IPADDR }
1755 { SimPort IPPORT }
1756 { RegionHandle U64 }
1757 { Position LLVector3 } // region
1758 { LookAt LLVector3 }
1759 { SimName Variable 1 }
1760 { SimAccess U8 }
1761 { TeleportFlags U32 }
1762 }
1763}
1764
1765// TeleportFinish sim->viewer
1766// called when all of the information has been collected and readied for
1767// the agent.
1768{
1769 TeleportFinish Low Trusted Unencoded
1770 {
1771 Info Single
1772 { AgentID LLUUID }
1773 { LocationID U32 }
1774 { SimIP IPADDR }
1775 { SimPort IPPORT }
1776 { RegionHandle U64 }
1777 { SeedCapability Variable 2 } // URL
1778 { SimAccess U8 }
1779 { TeleportFlags U32 }
1780 }
1781}
1782
1783// StartLure viewer->sim
1784// Sent from viewer to the local simulator to lure target id to near
1785// agent id. This will generate an instant message that will be routed
1786// through the space server and out to the userserver. When that IM
1787// goes through the userserver and the TargetID is online, the
1788// userserver will send an InitializeLure to the spaceserver. When that
1789// packet is acked, the original instant message is finally forwarded to
1790// TargetID.
1791{
1792 StartLure Low NotTrusted Unencoded
1793 {
1794 AgentData Single
1795 { AgentID LLUUID }
1796 { SessionID LLUUID }
1797 }
1798 {
1799 Info Single
1800 { LureType U8 }
1801 { Message Variable 1 }
1802 }
1803 {
1804 TargetData Variable
1805 { TargetID LLUUID }
1806 }
1807}
1808
1809// TeleportLureRequest viewer->sim
1810// Message from target of lure to begin the teleport process on the
1811// local simulator.
1812{
1813 TeleportLureRequest Low NotTrusted Unencoded
1814 {
1815 Info Single
1816 { AgentID LLUUID }
1817 { SessionID LLUUID }
1818 { LureID LLUUID }
1819 { TeleportFlags U32 }
1820 }
1821}
1822
1823// TeleportCancel viewer->sim
1824// reliable
1825{
1826 TeleportCancel Low NotTrusted Unencoded
1827 {
1828 Info Single
1829 { AgentID LLUUID }
1830 { SessionID LLUUID }
1831 }
1832}
1833
1834// CompleteLure sim->space
1835// message with final necessary info about accepted lure. The
1836// spaceserver will reply with a SpaceLocationTeleportReply or
1837// TeleportFailed and it becomes like any other teleport.
1838{
1839 CompleteLure Low Trusted Unencoded
1840 {
1841 Info Single
1842 { AgentID LLUUID }
1843 { SessionID LLUUID }
1844 { LureID LLUUID }
1845 { CircuitCode U32 }
1846 { TravelAccess U8 }
1847 { ParentEstateID U32 }
1848 { TeleportFlags U32 }
1849 }
1850}
1851
1852// TeleportStart sim->viewer
1853// announce a successful teleport request to the viewer.
1854{
1855 TeleportStart Low Trusted Unencoded
1856 {
1857 Info Single
1858 { TeleportFlags U32 }
1859 }
1860}
1861
1862// TeleportFailed somehwere->sim->viewer
1863// announce failure of teleport request
1864{
1865 TeleportFailed Low Trusted Unencoded
1866 {
1867 Info Single
1868 { AgentID LLUUID }
1869 { Reason Variable 1 } // string
1870 }
1871}
1872
1873// ***************************************************************************
1874// Leader Board messages
1875// ***************************************************************************
1876{
1877 LeaderBoardRequest Low NotTrusted Unencoded
1878 {
1879 AgentData Single
1880 { AgentID LLUUID }
1881 { SessionID LLUUID }
1882 { Type S32 }
1883 }
1884}
1885
1886{
1887 LeaderBoardData Low Trusted Zerocoded
1888 {
1889 AgentData Single
1890 { AgentID LLUUID }
1891 }
1892 {
1893 BoardData Single
1894 { Type S32 }
1895 { MinPlace S32 }
1896 { MaxPlace S32 }
1897 { TimeString Variable 1 } // string
1898 }
1899 {
1900 Entry Variable
1901 { Sequence S32 }
1902 { Place S32 }
1903 { ID LLUUID }
1904 { Score S32 }
1905 { Name Fixed 32 } // only send 32 characters of the name, to fit in an MTU
1906 }
1907}
1908
1909// ***************************************************************************
1910// Viewer to Simulator Messages
1911// ***************************************************************************
1912
1913// Undo
1914{
1915 Undo Low NotTrusted Unencoded
1916 {
1917 AgentData Single
1918 { AgentID LLUUID }
1919 { SessionID LLUUID }
1920 { GroupID LLUUID }
1921 }
1922 {
1923 ObjectData Variable
1924 { ObjectID LLUUID }
1925 }
1926}
1927
1928
1929// Redo
1930{
1931 Redo Low NotTrusted Unencoded
1932 {
1933 AgentData Single
1934 { AgentID LLUUID }
1935 { SessionID LLUUID }
1936 { GroupID LLUUID }
1937 }
1938 {
1939 ObjectData Variable
1940 { ObjectID LLUUID }
1941 }
1942}
1943
1944// UndoLand
1945{
1946 UndoLand Low NotTrusted Unencoded
1947 {
1948 AgentData Single
1949 { AgentID LLUUID }
1950 { SessionID LLUUID }
1951 }
1952}
1953
1954
1955// RedoLand
1956{
1957 RedoLand Low NotTrusted Unencoded
1958 {
1959 AgentData Single
1960 { AgentID LLUUID }
1961 { SessionID LLUUID }
1962 }
1963}
1964
1965// AgentPause - viewer occasionally will block, inform simulator of this fact
1966{
1967 AgentPause Low NotTrusted Unencoded
1968 {
1969 AgentData Single
1970 { AgentID LLUUID }
1971 { SessionID LLUUID }
1972 { SerialNum U32 } // U32, used by both pause and resume. Non-increasing numbers are ignored.
1973 }
1974}
1975
1976// AgentResume - unblock the agent
1977{
1978 AgentResume Low NotTrusted Unencoded
1979 {
1980 AgentData Single
1981 { AgentID LLUUID }
1982 { SessionID LLUUID }
1983 { SerialNum U32 } // U32, used by both pause and resume. Non-increasing numbers are ignored.
1984 }
1985}
1986
1987
1988// AgentUpdate - Camera info sent from viewer to simulator
1989// or, more simply, two axes and compute cross product
1990// State data is temporary, indicates current behavior state:
1991// 0 = walking
1992// 1 = mouselook
1993// 2 = typing
1994//
1995// Center is region local (JNC 8.16.2001)
1996// Camera center is region local (JNC 8.29.2001)
1997{
1998 AgentUpdate High NotTrusted Zerocoded
1999 {
2000 AgentData Single
2001 { AgentID LLUUID }
2002 { SessionID LLUUID }
2003 { BodyRotation LLQuaternion }
2004 { HeadRotation LLQuaternion }
2005 { State U8 }
2006 { CameraCenter LLVector3 }
2007 { CameraAtAxis LLVector3 }
2008 { CameraLeftAxis LLVector3 }
2009 { CameraUpAxis LLVector3 }
2010 { Far F32 }
2011 { ControlFlags U32 }
2012 { Flags U8 }
2013 }
2014}
2015
2016// ChatFromViewer
2017// Specifies the text to be said and the "type",
2018// normal speech, shout, whisper.
2019// with the specified radius
2020{
2021 ChatFromViewer Low NotTrusted Zerocoded
2022 {
2023 AgentData Single
2024 { AgentID LLUUID }
2025 { SessionID LLUUID }
2026 }
2027 {
2028 ChatData Single
2029 { Message Variable 2 }
2030 { Type U8 }
2031 { Channel S32 }
2032 }
2033}
2034
2035
2036// AgentThrottle
2037{
2038 AgentThrottle Low NotTrusted Zerocoded
2039 {
2040 AgentData Single
2041 { AgentID LLUUID }
2042 { SessionID LLUUID }
2043 { CircuitCode U32 }
2044 }
2045 {
2046 Throttle Single
2047 { GenCounter U32 }
2048 { Throttles Variable 1 }
2049 }
2050}
2051
2052
2053// AgentFOV - Update to agent's field of view, angle is vertical, single F32 float in radians
2054{
2055 AgentFOV Low NotTrusted Unencoded
2056 {
2057 AgentData Single
2058 { AgentID LLUUID }
2059 { SessionID LLUUID }
2060 { CircuitCode U32 }
2061 }
2062 {
2063 FOVBlock Single
2064 { GenCounter U32 }
2065 { VerticalAngle F32 }
2066 }
2067}
2068
2069
2070// AgentHeightWidth - Update to height and aspect, sent as height/width to save space
2071// Usually sent when window resized or created
2072{
2073 AgentHeightWidth Low NotTrusted Unencoded
2074 {
2075 AgentData Single
2076 { AgentID LLUUID }
2077 { SessionID LLUUID }
2078 { CircuitCode U32 }
2079 }
2080 {
2081 HeightWidthBlock Single
2082 { GenCounter U32 }
2083 { Height U16 }
2084 { Width U16 }
2085 }
2086}
2087
2088
2089// AgentSetAppearance - Update to agent appearance
2090{
2091 AgentSetAppearance Low NotTrusted Zerocoded
2092 {
2093 AgentData Single
2094 { AgentID LLUUID }
2095 { SessionID LLUUID }
2096 { SerialNum U32 } // U32, Increases every time the appearance changes. A value of 0 resets.
2097 { Size LLVector3 }
2098 }
2099 {
2100 WearableData Variable
2101 { CacheID LLUUID }
2102 { TextureIndex U8 }
2103 }
2104 {
2105 ObjectData Single
2106 { TextureEntry Variable 2 }
2107 }
2108 {
2109 VisualParam Variable
2110 { ParamValue U8 }
2111 }
2112}
2113
2114// AgentAnimation - Update animation state
2115// viewer --> simulator
2116{
2117 AgentAnimation High NotTrusted Unencoded
2118 {
2119 AgentData Single
2120 { AgentID LLUUID }
2121 { SessionID LLUUID }
2122 }
2123 {
2124 AnimationList Variable
2125 { AnimID LLUUID }
2126 { StartAnim BOOL }
2127 }
2128}
2129
2130// AgentRequestSit - Try to sit on an object
2131{
2132 AgentRequestSit High NotTrusted Zerocoded
2133 {
2134 AgentData Single
2135 { AgentID LLUUID }
2136 { SessionID LLUUID }
2137 }
2138 {
2139 TargetObject Single
2140 { TargetID LLUUID }
2141 { Offset LLVector3 }
2142 }
2143}
2144
2145// AgentSit - Actually sit on object
2146{
2147 AgentSit High NotTrusted Unencoded
2148 {
2149 AgentData Single
2150 { AgentID LLUUID }
2151 { SessionID LLUUID }
2152 }
2153}
2154
2155// AgentQuit - Sent by viewer when viewer exits normally
2156// Fuse is used to allow Reset to be passed to neighbors
2157// *NOTE: obsolete
2158{
2159 AgentQuit Low NotTrusted Unencoded
2160 {
2161 AgentData Single
2162 { AgentID LLUUID }
2163 { SessionID LLUUID }
2164 }
2165}
2166
2167// quit message sent between simulators
2168{
2169 AgentQuitCopy Low NotTrusted Unencoded
2170 {
2171 AgentData Single
2172 { AgentID LLUUID }
2173 { SessionID LLUUID }
2174 }
2175 {
2176 FuseBlock Single
2177 { ViewerCircuitCode U32 }
2178 }
2179}
2180
2181
2182// Request Image - Sent by the viewer to request a specified image at a specified resolution
2183
2184{
2185 RequestImage High NotTrusted Unencoded
2186 {
2187 AgentData Single
2188 { AgentID LLUUID }
2189 { SessionID LLUUID }
2190 }
2191 {
2192 RequestImage Variable
2193 { Image LLUUID }
2194 { DiscardLevel S8 }
2195 { DownloadPriority F32 }
2196 { Packet U32 }
2197 { Type U8 }
2198 }
2199}
2200
2201// ImageNotInDatabase
2202// Simulator informs viewer that a requsted image definitely does not exist in the asset database
2203{
2204 ImageNotInDatabase Low Trusted Unencoded
2205 {
2206 ImageID Single
2207 { ID LLUUID }
2208 }
2209}
2210
2211// RebakeAvatarTextures
2212// simulator -> viewer request when a temporary baked avatar texture is not found
2213{
2214 RebakeAvatarTextures Low Trusted Unencoded
2215 {
2216 TextureData Single
2217 { TextureID LLUUID }
2218 }
2219}
2220
2221
2222// SetAlwaysRun
2223// Lets the viewer choose between running and walking
2224{
2225 SetAlwaysRun Low NotTrusted Unencoded
2226 {
2227 AgentData Single
2228 { AgentID LLUUID }
2229 { SessionID LLUUID }
2230 { AlwaysRun BOOL }
2231 }
2232}
2233
2234// ObjectAdd - create new object in the world
2235// Simulator will assign ID and send message back to signal
2236// object actually created.
2237//
2238// AddFlags (see also ObjectUpdate)
2239// 0x01 - use physics
2240// 0x02 - create selected
2241//
2242// If only one ImageID is sent for an object type that has more than
2243// one face, the same image is repeated on each subsequent face.
2244//
2245// Data field is opaque type-specific data for this object
2246{
2247 ObjectAdd Medium NotTrusted Zerocoded
2248 {
2249 AgentData Single
2250 { AgentID LLUUID }
2251 { SessionID LLUUID }
2252 { GroupID LLUUID }
2253 }
2254 {
2255 ObjectData Single
2256 { PCode U8 }
2257 { Material U8 }
2258 { AddFlags U32 } // see object_flags.h
2259
2260 { PathCurve U8 }
2261 { ProfileCurve U8 }
2262 { PathBegin U8 } // 0 to 1, quanta = 0.01
2263 { PathEnd U8 } // 0 to 1, quanta = 0.01
2264 { PathScaleX U8 } // 0 to 1, quanta = 0.01
2265 { PathScaleY U8 } // 0 to 1, quanta = 0.01
2266 { PathShearX U8 } // -.5 to .5, quanta = 0.01
2267 { PathShearY U8 } // -.5 to .5, quanta = 0.01
2268 { PathTwist S8 } // -1 to 1, quanta = 0.01
2269 { PathTwistBegin S8 } // -1 to 1, quanta = 0.01
2270 { PathRadiusOffset S8 } // -1 to 1, quanta = 0.01
2271 { PathTaperX S8 } // -1 to 1, quanta = 0.01
2272 { PathTaperY S8 } // -1 to 1, quanta = 0.01
2273 { PathRevolutions U8 } // 0 to 3, quanta = 0.015
2274 { PathSkew S8 } // -1 to 1, quanta = 0.01
2275 { ProfileBegin U8 } // 0 to 1, quanta = 0.01
2276 { ProfileEnd U8 } // 0 to 1, quanta = 0.01
2277 { ProfileHollow U8 } // 0 to 1, quanta = 0.01
2278
2279 { BypassRaycast U8 }
2280 { RayStart LLVector3 }
2281 { RayEnd LLVector3 }
2282 { RayTargetID LLUUID }
2283 { RayEndIsIntersection U8 }
2284
2285 { Scale LLVector3 }
2286 { Rotation LLQuaternion }
2287
2288 { State U8 }
2289 }
2290}
2291
2292
2293// ObjectDelete
2294// viewer -> simulator
2295{
2296 ObjectDelete Low NotTrusted Zerocoded
2297 {
2298 AgentData Single
2299 { AgentID LLUUID }
2300 { SessionID LLUUID }
2301 { Force BOOL } // BOOL, god trying to force delete
2302 }
2303 {
2304 ObjectData Variable
2305 { ObjectLocalID U32 }
2306 }
2307}
2308
2309
2310// ObjectDuplicate
2311// viewer -> simulator
2312// Makes a copy of a set of objects, offset by a given amount
2313{
2314 ObjectDuplicate Low NotTrusted Zerocoded
2315 {
2316 AgentData Single
2317 { AgentID LLUUID }
2318 { SessionID LLUUID }
2319 { GroupID LLUUID }
2320 }
2321 {
2322 SharedData Single
2323 { Offset LLVector3 }
2324 { DuplicateFlags U32 } // see object_flags.h
2325 }
2326 {
2327 ObjectData Variable
2328 { ObjectLocalID U32 }
2329 }
2330}
2331
2332
2333// ObjectDuplicateOnRay
2334// viewer -> simulator
2335// Makes a copy of an object, using the add object raycast
2336// code to abut it to other objects.
2337{
2338 ObjectDuplicateOnRay Low NotTrusted Zerocoded
2339 {
2340 AgentData Single
2341 { AgentID LLUUID }
2342 { SessionID LLUUID }
2343 { GroupID LLUUID }
2344 { RayStart LLVector3 } // region local
2345 { RayEnd LLVector3 } // region local
2346 { BypassRaycast BOOL }
2347 { RayEndIsIntersection BOOL }
2348 { CopyCenters BOOL }
2349 { CopyRotates BOOL }
2350 { RayTargetID LLUUID }
2351 { DuplicateFlags U32 } // see object_flags.h
2352 }
2353 {
2354 ObjectData Variable
2355 { ObjectLocalID U32 }
2356 }
2357}
2358
2359
2360// MultipleObjectUpdate
2361// viewer -> simulator
2362// updates position, rotation and scale in one message
2363// positions sent as region-local floats
2364{
2365 MultipleObjectUpdate Medium NotTrusted Zerocoded
2366 {
2367 AgentData Single
2368 { AgentID LLUUID }
2369 { SessionID LLUUID }
2370 }
2371 {
2372 ObjectData Variable
2373 { ObjectLocalID U32 }
2374 { Type U8 }
2375 { Data Variable 1 } // custom type
2376 }
2377}
2378
2379// RequestMultipleObjects
2380// viewer -> simulator
2381// reliable
2382//
2383// When the viewer gets a local_id/crc for an object that
2384// it either doesn't have, or doesn't have the current version
2385// of, it sends this upstream get get an update.
2386//
2387// CacheMissType 0 => full object (viewer doesn't have it)
2388// CacheMissType 1 => CRC mismatch only
2389{
2390 RequestMultipleObjects Medium NotTrusted Zerocoded
2391 {
2392 AgentData Single
2393 { AgentID LLUUID }
2394 { SessionID LLUUID }
2395 }
2396 {
2397 ObjectData Variable
2398 { CacheMissType U8 }
2399 { ID U32 }
2400 }
2401}
2402
2403
2404// ObjectPosition
2405// viewer -> simulator
2406{
2407 ObjectPosition Medium NotTrusted Zerocoded
2408 {
2409 AgentData Single
2410 { AgentID LLUUID }
2411 { SessionID LLUUID }
2412 }
2413 {
2414 ObjectData Variable
2415 { ObjectLocalID U32 }
2416 { Position LLVector3 } // region
2417 }
2418}
2419
2420
2421// ObjectScale
2422// viewer -> simulator
2423{
2424 ObjectScale Low NotTrusted Zerocoded
2425 {
2426 AgentData Single
2427 { AgentID LLUUID }
2428 { SessionID LLUUID }
2429 }
2430 {
2431 ObjectData Variable
2432 { ObjectLocalID U32 }
2433 { Scale LLVector3 }
2434 }
2435}
2436
2437
2438// ObjectRotation
2439// viewer -> simulator
2440{
2441 ObjectRotation Low NotTrusted Zerocoded
2442 {
2443 AgentData Single
2444 { AgentID LLUUID }
2445 { SessionID LLUUID }
2446 }
2447 {
2448 ObjectData Variable
2449 { ObjectLocalID U32 }
2450 { Rotation LLQuaternion }
2451 }
2452}
2453
2454
2455// ObjectFlagUpdate
2456// viewer -> simulator
2457{
2458 ObjectFlagUpdate Low NotTrusted Zerocoded
2459 {
2460 AgentData Single
2461 { AgentID LLUUID }
2462 { SessionID LLUUID }
2463 { ObjectLocalID U32 }
2464 { UsePhysics BOOL }
2465 { IsTemporary BOOL }
2466 { IsPhantom BOOL }
2467 { CastsShadows BOOL }
2468 }
2469}
2470
2471
2472// ObjectClickAction
2473// viewer -> simulator
2474{
2475 ObjectClickAction Low NotTrusted Zerocoded
2476 {
2477 AgentData Single
2478 { AgentID LLUUID }
2479 { SessionID LLUUID }
2480 }
2481 {
2482 ObjectData Variable
2483 { ObjectLocalID U32 }
2484 { ClickAction U8 }
2485 }
2486}
2487
2488
2489// ObjectImage
2490// viewer -> simulator
2491{
2492 ObjectImage Low NotTrusted Zerocoded
2493 {
2494 AgentData Single
2495 { AgentID LLUUID }
2496 { SessionID LLUUID }
2497 }
2498 {
2499 ObjectData Variable
2500 { ObjectLocalID U32 }
2501 { MediaURL Variable 1 }
2502 { TextureEntry Variable 2 }
2503 }
2504}
2505
2506
2507{
2508 ObjectMaterial Low NotTrusted Zerocoded
2509 {
2510 AgentData Single
2511 { AgentID LLUUID }
2512 { SessionID LLUUID }
2513 }
2514 {
2515 ObjectData Variable
2516 { ObjectLocalID U32 }
2517 { Material U8 }
2518 }
2519}
2520
2521
2522{
2523 ObjectShape Low NotTrusted Zerocoded
2524 {
2525 AgentData Single
2526 { AgentID LLUUID }
2527 { SessionID LLUUID }
2528 }
2529 {
2530 ObjectData Variable
2531 { ObjectLocalID U32 }
2532 { PathCurve U8 }
2533 { ProfileCurve U8 }
2534 { PathBegin U8 } // 0 to 1, quanta = 0.01
2535 { PathEnd U8 } // 0 to 1, quanta = 0.01
2536 { PathScaleX U8 } // 0 to 1, quanta = 0.01
2537 { PathScaleY U8 } // 0 to 1, quanta = 0.01
2538 { PathShearX U8 } // -.5 to .5, quanta = 0.01
2539 { PathShearY U8 } // -.5 to .5, quanta = 0.01
2540 { PathTwist S8 } // -1 to 1, quanta = 0.01
2541 { PathTwistBegin S8 } // -1 to 1, quanta = 0.01
2542 { PathRadiusOffset S8 } // -1 to 1, quanta = 0.01
2543 { PathTaperX S8 } // -1 to 1, quanta = 0.01
2544 { PathTaperY S8 } // -1 to 1, quanta = 0.01
2545 { PathRevolutions U8 } // 0 to 3, quanta = 0.015
2546 { PathSkew S8 } // -1 to 1, quanta = 0.01
2547 { ProfileBegin U8 } // 0 to 1, quanta = 0.01
2548 { ProfileEnd U8 } // 0 to 1, quanta = 0.01
2549 { ProfileHollow U8 } // 0 to 1, quanta = 0.01
2550 }
2551}
2552
2553{
2554 ObjectExtraParams Low NotTrusted Zerocoded
2555 {
2556 AgentData Single
2557 { AgentID LLUUID }
2558 { SessionID LLUUID }
2559 }
2560 {
2561 ObjectData Variable
2562 { ObjectLocalID U32 }
2563 { ParamType U16 }
2564 { ParamInUse BOOL }
2565 { ParamSize U32 }
2566 { ParamData Variable 1 }
2567 }
2568}
2569
2570
2571// ObjectOwner
2572// To make public, set OwnerID to LLUUID::null.
2573// TODO: Eliminate god-bit. Maybe not. God-bit is ok, because it's
2574// known on the server.
2575{
2576 ObjectOwner Low NotTrusted Zerocoded
2577 {
2578 AgentData Single
2579 { AgentID LLUUID }
2580 { SessionID LLUUID }
2581 }
2582 {
2583 HeaderData Single
2584 { Override BOOL } // BOOL, God-bit.
2585 { OwnerID LLUUID }
2586 { GroupID LLUUID }
2587 }
2588 {
2589 ObjectData Variable
2590 { ObjectLocalID U32 }
2591 }
2592}
2593
2594// ObjectGroup
2595// To make the object part of no group, set GroupID = LLUUID::null.
2596// This call only works if objectid.ownerid == agentid.
2597{
2598 ObjectGroup Low NotTrusted Zerocoded
2599 {
2600 AgentData Single
2601 { AgentID LLUUID }
2602 { SessionID LLUUID }
2603 { GroupID LLUUID }
2604 }
2605 {
2606 ObjectData Variable
2607 { ObjectLocalID U32 }
2608 }
2609}
2610
2611// Attempt to buy an object. This will only pack root objects.
2612{
2613 ObjectBuy Low NotTrusted Zerocoded
2614 {
2615 AgentData Single
2616 { AgentID LLUUID }
2617 { SessionID LLUUID }
2618 { GroupID LLUUID }
2619 { CategoryID LLUUID } // folder where it goes (if derezed)
2620 }
2621 {
2622 ObjectData Variable
2623 { ObjectLocalID U32 }
2624 { SaleType U8 } // U8 -> EForSale
2625 { SalePrice S32 }
2626 }
2627}
2628
2629// viewer -> simulator
2630
2631// buy object inventory. If the transaction succeeds, it will add
2632// inventory to the agent, and potentially remove the original.
2633{
2634 BuyObjectInventory Low NotTrusted Zerocoded
2635 {
2636 AgentData Single
2637 { AgentID LLUUID }
2638 { SessionID LLUUID }
2639 }
2640 {
2641 Data Single
2642 { ObjectID LLUUID }
2643 { ItemID LLUUID }
2644 { FolderID LLUUID }
2645 }
2646}
2647
2648// sim -> viewer
2649// Used to propperly handle buying asset containers
2650{
2651 DerezContainer Low Trusted Zerocoded
2652 {
2653 Data Single
2654 { ObjectID LLUUID }
2655 { Delete BOOL } // BOOL
2656 }
2657}
2658
2659// ObjectPermissions
2660// Field - see llpermissionsflags.h
2661// If Set is true, tries to turn on bits in mask.
2662// If set is false, tries to turn off bits in mask.
2663// BUG: This just forces the permissions field.
2664{
2665 ObjectPermissions Low NotTrusted Zerocoded
2666 {
2667 AgentData Single
2668 { AgentID LLUUID }
2669 { SessionID LLUUID }
2670 }
2671 {
2672 HeaderData Single
2673 { Override BOOL } // BOOL, God-bit.
2674 }
2675 {
2676 ObjectData Variable
2677 { ObjectLocalID U32 }
2678 { Field U8 }
2679 { Set U8 }
2680 { Mask U32 }
2681 }
2682}
2683
2684// set object sale information
2685{
2686 ObjectSaleInfo Low NotTrusted Zerocoded
2687 {
2688 AgentData Single
2689 { AgentID LLUUID }
2690 { SessionID LLUUID }
2691 }
2692 {
2693 ObjectData Variable
2694 { LocalID U32 }
2695 { SaleType U8 } // U8 -> EForSale
2696 { SalePrice S32 }
2697 }
2698}
2699
2700
2701// set object names
2702{
2703 ObjectName Low NotTrusted Zerocoded
2704 {
2705 AgentData Single
2706 { AgentID LLUUID }
2707 { SessionID LLUUID }
2708 }
2709 {
2710 ObjectData Variable
2711 { LocalID U32 }
2712 { Name Variable 1 }
2713 }
2714}
2715
2716// set object descriptions
2717{
2718 ObjectDescription Low NotTrusted Zerocoded
2719 {
2720 AgentData Single
2721 { AgentID LLUUID }
2722 { SessionID LLUUID }
2723 }
2724 {
2725 ObjectData Variable
2726 { LocalID U32 }
2727 { Description Variable 1 }
2728 }
2729}
2730
2731// set object category
2732{
2733 ObjectCategory Low NotTrusted Zerocoded
2734 {
2735 AgentData Single
2736 { AgentID LLUUID }
2737 { SessionID LLUUID }
2738 }
2739 {
2740 ObjectData Variable
2741 { LocalID U32 }
2742 { Category U32 }
2743 }
2744}
2745
2746// ObjectSelect
2747// Variable object data because rectangular selection can
2748// generate a large list very quickly.
2749{
2750 ObjectSelect Low NotTrusted Zerocoded
2751 {
2752 AgentData Single
2753 { AgentID LLUUID }
2754 { SessionID LLUUID }
2755 }
2756 {
2757 ObjectData Variable
2758 { ObjectLocalID U32 }
2759 }
2760
2761}
2762
2763
2764// ObjectDeselect
2765{
2766 ObjectDeselect Low NotTrusted Zerocoded
2767 {
2768 AgentData Single
2769 { AgentID LLUUID }
2770 { SessionID LLUUID }
2771 }
2772 {
2773 ObjectData Variable
2774 { ObjectLocalID U32 }
2775 }
2776
2777}
2778
2779// ObjectAttach
2780{
2781 ObjectAttach Low NotTrusted Zerocoded
2782 {
2783 AgentData Single
2784 { AgentID LLUUID }
2785 { SessionID LLUUID }
2786 { AttachmentPoint U8 }
2787 }
2788 {
2789 ObjectData Variable
2790 { ObjectLocalID U32 }
2791 { Rotation LLQuaternion }
2792 }
2793}
2794
2795// ObjectDetach -- derezzes an attachment, marking its item in your inventory as not "(worn)"
2796{
2797 ObjectDetach Low NotTrusted Unencoded
2798 {
2799 AgentData Single
2800 { AgentID LLUUID }
2801 { SessionID LLUUID }
2802 }
2803 {
2804 ObjectData Variable
2805 { ObjectLocalID U32 }
2806 }
2807}
2808
2809
2810// ObjectDrop -- drops an attachment from your avatar onto the ground
2811{
2812 ObjectDrop Low NotTrusted Unencoded
2813 {
2814 AgentData Single
2815 { AgentID LLUUID }
2816 { SessionID LLUUID }
2817 }
2818 {
2819 ObjectData Variable
2820 { ObjectLocalID U32 }
2821 }
2822}
2823
2824
2825// ObjectLink
2826{
2827 ObjectLink Low NotTrusted Unencoded
2828 {
2829 AgentData Single
2830 { AgentID LLUUID }
2831 { SessionID LLUUID }
2832 }
2833 {
2834 ObjectData Variable
2835 { ObjectLocalID U32 }
2836 }
2837}
2838
2839// ObjectDelink
2840{
2841 ObjectDelink Low NotTrusted Unencoded
2842 {
2843 AgentData Single
2844 { AgentID LLUUID }
2845 { SessionID LLUUID }
2846 }
2847 {
2848 ObjectData Variable
2849 { ObjectLocalID U32 }
2850 }
2851}
2852
2853// ObjectHinge
2854{
2855 ObjectHinge Low NotTrusted Unencoded
2856 {
2857 AgentData Single
2858 { AgentID LLUUID }
2859 { SessionID LLUUID }
2860 }
2861 {
2862 JointType Single
2863 { Type U8 }
2864 }
2865 {
2866 ObjectData Variable
2867 { ObjectLocalID U32 }
2868 }
2869
2870}
2871
2872// ObjectDehinge
2873{
2874 ObjectDehinge Low NotTrusted Unencoded
2875 {
2876 AgentData Single
2877 { AgentID LLUUID }
2878 { SessionID LLUUID }
2879 }
2880 {
2881 ObjectData Variable
2882 { ObjectLocalID U32 }
2883 }
2884
2885}
2886
2887
2888// ObjectGrab
2889{
2890 ObjectGrab Low NotTrusted Zerocoded
2891 {
2892 AgentData Single
2893 { AgentID LLUUID }
2894 { SessionID LLUUID }
2895 }
2896 {
2897 ObjectData Single
2898 { LocalID U32 }
2899 { GrabOffset LLVector3 }
2900 }
2901}
2902
2903
2904// ObjectGrabUpdate
2905// TODO: Quantize this data, reduce message size.
2906// TimeSinceLast could go to 1 byte, since capped
2907// at 100 on sim.
2908{
2909 ObjectGrabUpdate Low NotTrusted Zerocoded
2910 {
2911 AgentData Single
2912 { AgentID LLUUID }
2913 { SessionID LLUUID }
2914 }
2915 {
2916 ObjectData Single
2917 { ObjectID LLUUID }
2918 { GrabOffsetInitial LLVector3 } // LLVector3
2919 { GrabPosition LLVector3 } // LLVector3, region local
2920 { TimeSinceLast U32 }
2921 }
2922}
2923
2924
2925// ObjectDeGrab
2926{
2927 ObjectDeGrab Low NotTrusted Unencoded
2928 {
2929 AgentData Single
2930 { AgentID LLUUID }
2931 { SessionID LLUUID }
2932 }
2933 {
2934 ObjectData Single
2935 { LocalID U32 }
2936 }
2937}
2938
2939
2940// ObjectSpinStart
2941{
2942 ObjectSpinStart Low NotTrusted Zerocoded
2943 {
2944 AgentData Single
2945 { AgentID LLUUID }
2946 { SessionID LLUUID }
2947 }
2948 {
2949 ObjectData Single
2950 { ObjectID LLUUID }
2951 }
2952}
2953
2954
2955// ObjectSpinUpdate
2956{
2957 ObjectSpinUpdate Low NotTrusted Zerocoded
2958 {
2959 AgentData Single
2960 { AgentID LLUUID }
2961 { SessionID LLUUID }
2962 }
2963 {
2964 ObjectData Single
2965 { ObjectID LLUUID }
2966 { Rotation LLQuaternion }
2967 }
2968}
2969
2970
2971// ObjectSpinStop
2972{
2973 ObjectSpinStop Low NotTrusted Zerocoded
2974 {
2975 AgentData Single
2976 { AgentID LLUUID }
2977 { SessionID LLUUID }
2978 }
2979 {
2980 ObjectData Single
2981 { ObjectID LLUUID }
2982 }
2983}
2984
2985// Export selected objects
2986// viewer->sim
2987{
2988 ObjectExportSelected Low NotTrusted Zerocoded
2989 {
2990 AgentData Single
2991 { AgentID LLUUID }
2992 { RequestID LLUUID }
2993 { VolumeDetail S16 }
2994 }
2995 {
2996 ObjectData Variable
2997 { ObjectID LLUUID }
2998 }
2999}
3000
3001// Import an object
3002// viewer->sim
3003{
3004 ObjectImport Low NotTrusted Zerocoded
3005 {
3006 AgentData Single
3007 { AgentID LLUUID }
3008 { FolderID LLUUID }
3009 }
3010 {
3011 AssetData Single
3012 { FileID LLUUID 1 }
3013 { ObjectName Variable 1 }
3014 { Description Variable 1 }
3015 }
3016}
3017
3018// ModifyLand - sent to modify a piece of land on a simulator.
3019// viewer -> sim
3020{
3021 ModifyLand Low NotTrusted Zerocoded
3022 {
3023 AgentData Single
3024 { AgentID LLUUID }
3025 { SessionID LLUUID }
3026 }
3027 {
3028 ModifyBlock Single
3029 { Action U8 }
3030 { BrushSize U8 }
3031 { Seconds F32 }
3032 { Height F32 }
3033 }
3034 {
3035 ParcelData Variable
3036 { LocalID S32 }
3037 { West F32 }
3038 { South F32 }
3039 { East F32 }
3040 { North F32 }
3041 }
3042}
3043
3044
3045// VelocityInterpolateOn
3046// viewer->sim
3047// requires administrative access
3048{
3049 VelocityInterpolateOn Low NotTrusted Unencoded
3050 {
3051 AgentData Single
3052 { AgentID LLUUID }
3053 { SessionID LLUUID }
3054 }
3055}
3056
3057
3058// VelocityInterpolateOff
3059// viewer->sim
3060// requires administrative access
3061{
3062 VelocityInterpolateOff Low NotTrusted Unencoded
3063 {
3064 AgentData Single
3065 { AgentID LLUUID }
3066 { SessionID LLUUID }
3067 }
3068}
3069
3070// Save State
3071// viewer->sim
3072// requires administrative access
3073{
3074 StateSave Low NotTrusted Unencoded
3075 {
3076 AgentData Single
3077 { AgentID LLUUID }
3078 { SessionID LLUUID }
3079 }
3080 {
3081 DataBlock Single
3082 { Filename Variable 1 }
3083 }
3084}
3085
3086// ReportAutosaveCrash
3087// sim->launcher
3088{
3089 ReportAutosaveCrash Low NotTrusted Unencoded
3090 {
3091 AutosaveData Single
3092 { PID S32 }
3093 { Status S32 }
3094 }
3095}
3096
3097// SimWideDeletes
3098{
3099 SimWideDeletes Low NotTrusted Unencoded
3100 {
3101 AgentData Single
3102 { AgentID LLUUID }
3103 { SessionID LLUUID }
3104 }
3105 {
3106 DataBlock Single
3107 { TargetID LLUUID }
3108 { Flags U32 }
3109 }
3110}
3111
3112// RequestObjectPropertiesFamily
3113// Ask for extended information, such as creator, permissions, resources, etc.
3114// Medium frequency because it is driven by mouse hovering over objects, which
3115// occurs at high rates.
3116{
3117 RequestObjectPropertiesFamily Medium NotTrusted Zerocoded
3118 {
3119 AgentData Single
3120 { AgentID LLUUID }
3121 { SessionID LLUUID }
3122 }
3123 {
3124 ObjectData Single
3125 { RequestFlags U32 }
3126 { ObjectID LLUUID }
3127 }
3128}
3129
3130
3131// Track agent - this information is used when sending out the
3132// coarse location update so that we know who you are tracking.
3133// To stop tracking - send a null uuid as the prey.
3134{
3135 TrackAgent Low NotTrusted Unencoded
3136 {
3137 AgentData Single
3138 { AgentID LLUUID }
3139 { SessionID LLUUID }
3140 }
3141 {
3142 TargetData Single
3143 { PreyID LLUUID }
3144 }
3145}
3146
3147// end viewer to simulator section
3148
3149{
3150 ViewerStats Low NotTrusted Zerocoded
3151 {
3152 AgentData Single
3153 { AgentID LLUUID }
3154 { SessionID LLUUID }
3155 { IP IPADDR }
3156 { StartTime U32 }
3157 { RunTime F32 } // F32
3158 { SimFPS F32 } // F32
3159 { FPS F32 } // F32
3160 { AgentsInView U8 } //
3161 { Ping F32 } // F32
3162 { MetersTraveled F64 }
3163 { RegionsVisited S32 }
3164 { SysRAM U32 }
3165 { SysOS Variable 1 } // String
3166 { SysCPU Variable 1 } // String
3167 { SysGPU Variable 1 } // String
3168 }
3169
3170 {
3171 DownloadTotals Single
3172 { World U32 }
3173 { Objects U32 }
3174 { Textures U32 }
3175 }
3176
3177 {
3178 NetStats Multiple 2
3179 { Bytes U32 }
3180 { Packets U32 }
3181 { Compressed U32 }
3182 { Savings U32 }
3183 }
3184
3185 {
3186 FailStats Single
3187 { SendPacket U32 }
3188 { Dropped U32 }
3189 { Resent U32 }
3190 { FailedResends U32 }
3191 { OffCircuit U32 }
3192 { Invalid U32 }
3193 }
3194
3195 {
3196 MiscStats Variable
3197 { Type U32 }
3198 { Value F64 }
3199 }
3200}
3201
3202// ScriptAnswerYes
3203// reliable
3204{
3205 ScriptAnswerYes Low NotTrusted Unencoded
3206 {
3207 AgentData Single
3208 { AgentID LLUUID }
3209 { SessionID LLUUID }
3210 }
3211 {
3212 Data Single
3213 { TaskID LLUUID }
3214 { ItemID LLUUID }
3215 { Questions S32 }
3216 }
3217}
3218
3219
3220// complaint/bug-report
3221// reliable
3222{
3223 UserReport Low NotTrusted Zerocoded
3224 {
3225 AgentData Single
3226 { AgentID LLUUID }
3227 { SessionID LLUUID }
3228 }
3229 {
3230 ReportData Single
3231 { ReportType U8 } // BUG=1, COMPLAINT=2
3232 { Category U8 } // see sequence.user_report_category
3233 { Position LLVector3 } // screenshot position, region-local
3234 { CheckFlags U8 } // checkboxflags
3235 { ScreenshotID LLUUID }
3236 { ObjectID LLUUID }
3237 { AbuserID LLUUID }
3238 { AbuseRegionName Variable 1 }
3239 { AbuseRegionID LLUUID }
3240 { Summary Variable 1 }
3241 { Details Variable 2 }
3242 { VersionString Variable 1 }
3243 }
3244}
3245
3246
3247// ***************************************************************************
3248// Simulator to Viewer Messages
3249// ***************************************************************************
3250
3251// AlertMessage
3252// Specifies the text to be posted in an alert dialog
3253{
3254 AlertMessage Low Trusted Unencoded
3255 {
3256 AlertData Single
3257 { Message Variable 1 }
3258 }
3259}
3260
3261// Send an AlertMessage to the named agent.
3262// usually dataserver->simulator
3263{
3264 AgentAlertMessage Low Trusted Unencoded
3265 {
3266 AgentData Single
3267 { AgentID LLUUID }
3268 }
3269 {
3270 AlertData Single
3271 { Modal BOOL }
3272 { Message Variable 1 }
3273 }
3274}
3275
3276
3277// MeanCollisionAlert
3278// Specifies the text to be posted in an alert dialog
3279{
3280 MeanCollisionAlert Low Trusted Zerocoded
3281 {
3282 MeanCollision Variable
3283 { Victim LLUUID }
3284 { Perp LLUUID }
3285 { Time U32 }
3286 { Mag F32 }
3287 { Type U8 }
3288 }
3289}
3290
3291// ViewerFrozenMessage
3292// Specifies the text to be posted in an alert dialog
3293{
3294 ViewerFrozenMessage Low Trusted Unencoded
3295 {
3296 FrozenData Single
3297 { Data BOOL }
3298 }
3299}
3300
3301// Health Message
3302// Tells viewer what agent health is
3303{
3304 HealthMessage Low Trusted Zerocoded
3305 {
3306 HealthData Single
3307 { Health F32 }
3308 }
3309}
3310
3311// ChatFromSimulator
3312// Chat text to appear on a user's screen
3313// Position is region local.
3314// Viewer can optionally use position to animate
3315// If audible is CHAT_NOT_AUDIBLE, message will not be valid
3316{
3317 ChatFromSimulator Low Trusted Unencoded
3318 {
3319 ChatData Single
3320 { FromName Variable 1 }
3321 { SourceID LLUUID } // agent id or object id
3322 { OwnerID LLUUID } // object's owner
3323 { SourceType U8 }
3324 { ChatType U8 }
3325 { Audible U8 }
3326 { Position LLVector3 }
3327 { Message Variable 2 } // UTF-8 text
3328 }
3329}
3330
3331
3332// Simulator statistics packet (goes out to viewer and dataserver/spaceserver)
3333{
3334 SimStats Low Trusted Unencoded
3335 {
3336 Region Single
3337 { RegionX U32 }
3338 { RegionY U32 }
3339 { RegionFlags U32 }
3340 { ObjectCapacity U32 }
3341 }
3342 {
3343 Stat Variable
3344 { StatID U32 }
3345 { StatValue F32 }
3346 }
3347}
3348
3349// viewer -> sim
3350// reliable
3351{
3352 RequestRegionInfo Low NotTrusted Unencoded
3353 {
3354 AgentData Single
3355 { AgentID LLUUID }
3356 { SessionID LLUUID }
3357 }
3358}
3359
3360// RegionInfo
3361// Used to populate UI for both region/estate floater
3362// and god tools floater
3363// sim -> viewer
3364// reliable
3365{
3366 RegionInfo Low NotTrusted Zerocoded
3367 {
3368 AgentData Single
3369 { AgentID LLUUID }
3370 { SessionID LLUUID }
3371 }
3372 {
3373 RegionInfo Single
3374 { SimName Variable 1 } // string
3375 { EstateID U32 }
3376 { ParentEstateID U32 }
3377 { RegionFlags U32 }
3378 { SimAccess U8 }
3379 { MaxAgents U8 }
3380 { BillableFactor F32 }
3381 { ObjectBonusFactor F32 }
3382 { WaterHeight F32 }
3383 { TerrainRaiseLimit F32 }
3384 { TerrainLowerLimit F32 }
3385 { PricePerMeter S32 }
3386 { RedirectGridX S32 }
3387 { RedirectGridY S32 }
3388 { UseEstateSun BOOL }
3389 { SunHour F32 } // last value set by estate or region controls JC
3390 }
3391}
3392
3393// GodUpdateRegionInfo
3394// Sent from viewer to sim after a god has changed some
3395// of the parameters in the god tools floater
3396// viewer -> sim
3397// reliable
3398{
3399 GodUpdateRegionInfo Low NotTrusted Zerocoded
3400 {
3401 AgentData Single
3402 { AgentID LLUUID }
3403 { SessionID LLUUID }
3404 }
3405 {
3406 RegionInfo Single
3407 { SimName Variable 1 } // string
3408 { EstateID U32 }
3409 { ParentEstateID U32 }
3410 { RegionFlags U32 }
3411 { BillableFactor F32 }
3412 { PricePerMeter S32 }
3413 { RedirectGridX S32 }
3414 { RedirectGridY S32 }
3415 }
3416}
3417
3418//NearestLandingRegionRequest
3419//sim->dataserver
3420//Sent from the region to the data server
3421//to request the most up to date region for the requesting
3422//region to redirect teleports to
3423{
3424 NearestLandingRegionRequest Low Trusted Unencoded
3425 {
3426 RequestingRegionData Single
3427 { RegionHandle U64 }
3428 }
3429}
3430
3431//NearestLandingPointReply
3432//dataserver->sim
3433//Sent from the data server to a region in reply
3434//to the redirectregion request stating which region
3435//the requesting region should redirect teleports to if necessary
3436{
3437 NearestLandingRegionReply Low Trusted Unencoded
3438 {
3439 LandingRegionData Single
3440 { RegionHandle U64 }
3441 }
3442}
3443
3444//NearestLandingPointUpdated
3445//sim->dataserver
3446//Sent from a region to the data server
3447//to have the dataserver note/clear in the db
3448//that the region has updated it's nearest landing point
3449{
3450 NearestLandingRegionUpdated Low Trusted Unencoded
3451 {
3452 RegionData Single
3453 { RegionHandle U64 }
3454 }
3455}
3456
3457
3458//TeleportLandingStatusChanged
3459//sim->dataserver
3460//Sent from the region to the data server
3461//to note that the region's teleportation landing status has changed
3462{
3463 TeleportLandingStatusChanged Low Trusted Unencoded
3464 {
3465 RegionData Single
3466 { RegionHandle U64 }
3467 }
3468}
3469
3470// RegionHandshake
3471// Sent by region to viewer after it has received UseCircuitCode
3472// from that viewer.
3473// sim -> viewer
3474// reliable
3475{
3476 RegionHandshake Low Trusted Zerocoded
3477 {
3478 RegionInfo Single
3479 { RegionFlags U32 }
3480 { SimAccess U8 }
3481 { SimName Variable 1 } // string
3482 { SimOwner LLUUID }
3483 { IsEstateManager BOOL } // this agent, for this sim
3484 { WaterHeight F32 }
3485 { BillableFactor F32 }
3486 { CacheID LLUUID }
3487 { TerrainBase0 LLUUID }
3488 { TerrainBase1 LLUUID }
3489 { TerrainBase2 LLUUID }
3490 { TerrainBase3 LLUUID }
3491 { TerrainDetail0 LLUUID }
3492 { TerrainDetail1 LLUUID }
3493 { TerrainDetail2 LLUUID }
3494 { TerrainDetail3 LLUUID }
3495 { TerrainStartHeight00 F32 }
3496 { TerrainStartHeight01 F32 }
3497 { TerrainStartHeight10 F32 }
3498 { TerrainStartHeight11 F32 }
3499 { TerrainHeightRange00 F32 }
3500 { TerrainHeightRange01 F32 }
3501 { TerrainHeightRange10 F32 }
3502 { TerrainHeightRange11 F32 }
3503 }
3504}
3505
3506// RegionHandshakeReply
3507// viewer -> sim
3508// reliable
3509// Sent after viewer has initialized the (pre-existing)
3510// LLViewerRegion with the name, access level, etc. and
3511// has loaded the cache for the region.
3512// After the simulator receives this, it will start sending
3513// data about objects.
3514{
3515 RegionHandshakeReply Low NotTrusted Zerocoded
3516 {
3517 AgentData Single
3518 { AgentID LLUUID }
3519 { SessionID LLUUID }
3520 }
3521 {
3522 RegionInfo Single
3523 { Flags U32 }
3524 }
3525}
3526
3527// The CoarseLocationUpdate message is sent to notify the viewer of
3528// the location of mappable objects in the region. 1 meter resolution is
3529// sufficient for this. The index block is used to show where you are,
3530// and where someone you are tracking is located. They are -1 if not
3531// applicable.
3532{
3533 CoarseLocationUpdate Medium Trusted Unencoded
3534 {
3535 Location Variable
3536 { X U8 }
3537 { Y U8 }
3538 { Z U8 } // Z in meters / 4
3539 }
3540 {
3541 Index Single
3542 { You S16 }
3543 { Prey S16 }
3544 }
3545}
3546
3547// ImageData - sent to viewer to transmit information about an image
3548{
3549 ImageData High Trusted Unencoded
3550 {
3551 ImageID Single
3552 { ID LLUUID }
3553 { Codec U8 }
3554 { Size U32 }
3555 { Packets U16 }
3556 }
3557 {
3558 ImageData Single
3559 { Data Variable 2 }
3560 }
3561}
3562
3563// ImagePacket - follow on image data for images having > 1 packet of data
3564{
3565 ImagePacket High Trusted Unencoded
3566 {
3567 ImageID Single
3568 { ID LLUUID }
3569 { Packet U16 }
3570 }
3571 {
3572 ImageData Single
3573 { Data Variable 2 }
3574 }
3575}
3576
3577// LayerData - Sent to viewer - encodes layer data
3578
3579{
3580 LayerData High Trusted Unencoded
3581 {
3582 LayerID Single
3583 { Type U8 }
3584
3585 }
3586 {
3587 LayerData Single
3588 { Data Variable 2 }
3589 }
3590}
3591
3592// ObjectUpdate - Sent by objects from the simulator to the viewer
3593//
3594// If only one ImageID is sent for an object type that has more than
3595// one face, the same image is repeated on each subsequent face.
3596//
3597// NameValue is a list of name-value strings, separated by \n characters,
3598// terminated by \0
3599//
3600// Data is type-specific opaque data for this object
3601{
3602 ObjectUpdate High Trusted Zerocoded
3603 {
3604 RegionData Single
3605 { RegionHandle U64 }
3606 { TimeDilation U16 }
3607 }
3608 {
3609 ObjectData Variable
3610 { ID U32 }
3611 { State U8 }
3612
3613 { FullID LLUUID }
3614 { CRC U32 } // TEMPORARY HACK FOR JAMES
3615 { PCode U8 }
3616 { Material U8 }
3617 { ClickAction U8 }
3618 { Scale LLVector3 }
3619 { ObjectData Variable 1 }
3620
3621 { ParentID U32 }
3622 { UpdateFlags U32 } // U32, see object_flags.h
3623
3624 { PathCurve U8 }
3625 { ProfileCurve U8 }
3626 { PathBegin U8 } // 0 to 1, quanta = 0.01
3627 { PathEnd U8 } // 0 to 1, quanta = 0.01
3628 { PathScaleX U8 } // 0 to 1, quanta = 0.01
3629 { PathScaleY U8 } // 0 to 1, quanta = 0.01
3630 { PathShearX U8 } // -.5 to .5, quanta = 0.01
3631 { PathShearY U8 } // -.5 to .5, quanta = 0.01
3632 { PathTwist S8 } // -1 to 1, quanta = 0.01
3633 { PathTwistBegin S8 } // -1 to 1, quanta = 0.01
3634 { PathRadiusOffset S8 } // -1 to 1, quanta = 0.01
3635 { PathTaperX S8 } // -1 to 1, quanta = 0.01
3636 { PathTaperY S8 } // -1 to 1, quanta = 0.01
3637 { PathRevolutions U8 } // 0 to 3, quanta = 0.015
3638 { PathSkew S8 } // -1 to 1, quanta = 0.01
3639 { ProfileBegin U8 } // 0 to 1, quanta = 0.01
3640 { ProfileEnd U8 } // 0 to 1, quanta = 0.01
3641 { ProfileHollow U8 } // 0 to 1, quanta = 0.01
3642
3643 { TextureEntry Variable 2 }
3644 { TextureAnim Variable 1 }
3645
3646 { NameValue Variable 2 }
3647 { Data Variable 2 }
3648 { Text Variable 1 } // llSetText() hovering text
3649 { TextColor Fixed 4 } // actually, a LLColor4U
3650 { MediaURL Variable 1 } // URL for web page, movie, etc.
3651
3652 // Info for particle systems
3653 { PSBlock Variable 1 }
3654
3655 // Extra parameters
3656 { ExtraParams Variable 1 }
3657
3658 // info for looped attached sounds
3659 // because these are almost always all zero
3660 // the hit after zero-coding is only 2 bytes
3661 // not the 42 you see here
3662 { Sound LLUUID }
3663 { OwnerID LLUUID } // HACK object's owner id, only set if non-null sound, for muting
3664 { Gain F32 }
3665 { Flags U8 }
3666 { Radius F32 } // cutoff radius
3667
3668 // joint info -- is sent in the update of each joint-child-root
3669 { JointType U8 }
3670 { JointPivot LLVector3 }
3671 { JointAxisOrAnchor LLVector3 }
3672 }
3673}
3674
3675
3676// ObjectUpdateCompressed
3677{
3678 ObjectUpdateCompressed High Trusted Unencoded
3679 {
3680 RegionData Single
3681 { RegionHandle U64 }
3682 { TimeDilation U16 }
3683 }
3684 {
3685 ObjectData Variable
3686 { UpdateFlags U32 }
3687 { Data Variable 2 }
3688 }
3689}
3690
3691// ObjectUpdateCached
3692// reliable
3693{
3694 ObjectUpdateCached High Trusted Unencoded
3695 {
3696 RegionData Single
3697 { RegionHandle U64 }
3698 { TimeDilation U16 }
3699 }
3700 {
3701 ObjectData Variable
3702 { ID U32 }
3703 { CRC U32 }
3704 { UpdateFlags U32 }
3705 }
3706}
3707
3708// packed terse object update format
3709{
3710 ImprovedTerseObjectUpdate High Trusted Unencoded
3711 {
3712 RegionData Single
3713 { RegionHandle U64 }
3714 { TimeDilation U16 }
3715 }
3716 {
3717 ObjectData Variable
3718 { Data Variable 1 }
3719 { TextureEntry Variable 2 }
3720 }
3721}
3722
3723// KillObject - Sent by objects to the viewer to tell them to kill themselves
3724
3725{
3726 KillObject High Trusted Unencoded
3727 {
3728 ObjectData Variable
3729 { ID U32 }
3730 }
3731}
3732
3733// AgentToNewRegion - tells the viewer that it's agent has moved
3734
3735{
3736 AgentToNewRegion High Trusted Unencoded
3737 {
3738 RegionData Single
3739 { SessionID LLUUID }
3740 { IP IPADDR }
3741 { Port IPPORT }
3742 { Handle U64 }
3743 }
3744}
3745
3746// CrossedRegion - new way to tell a viewer it has gone across a region
3747// boundary
3748{
3749 CrossedRegion Medium Trusted Unencoded
3750 {
3751 AgentData Single
3752 { AgentID LLUUID }
3753 { SessionID LLUUID }
3754 }
3755 {
3756 RegionData Single
3757 { SimIP IPADDR }
3758 { SimPort IPPORT }
3759 { RegionHandle U64 }
3760 { SeedCapability Variable 2 } // URL
3761 }
3762 {
3763 Info Single
3764 { Position LLVector3 }
3765 { LookAt LLVector3 }
3766 }
3767}
3768
3769// SimulatorViewerTimeMessage - Allows viewer to resynch to world time
3770
3771{
3772 SimulatorViewerTimeMessage Low Trusted Unencoded
3773 {
3774 TimeInfo Single
3775 { UsecSinceStart U64 }
3776 { SecPerDay U32 }
3777 { SecPerYear U32 }
3778 { SunDirection LLVector3 }
3779 { SunPhase F32 }
3780 { SunAngVelocity LLVector3 }
3781 }
3782}
3783
3784// EnableSimulator - Preps a viewer to receive data from a simulator
3785
3786{
3787 EnableSimulator Low Trusted Unencoded
3788 {
3789 SimulatorInfo Single
3790 { Handle U64 }
3791 { IP IPADDR }
3792 { Port IPPORT }
3793 }
3794}
3795
3796// DisableThisSimulator - Tells a viewer not to expect data from this simulator anymore
3797
3798{
3799 DisableSimulator Low Trusted Unencoded
3800}
3801
3802// ConfirmEnableSimulator - A confirmation message sent from simulator to neighbors that the simulator
3803// has successfully been enabled by the viewer
3804
3805{
3806 ConfirmEnableSimulator Medium Trusted Unencoded
3807 {
3808 AgentData Single
3809 { AgentID LLUUID }
3810 { SessionID LLUUID }
3811 }
3812}
3813
3814//-----------------------------------------------------------------------------
3815// New Transfer system
3816//-----------------------------------------------------------------------------
3817
3818// Request a new transfer (target->source)
3819{
3820 TransferRequest Low NotTrusted Zerocoded
3821 {
3822 TransferInfo Single
3823 { TransferID LLUUID }
3824 { ChannelType S32 }
3825 { SourceType S32 }
3826 { Priority F32 }
3827 { Params Variable 2 }
3828 }
3829}
3830
3831// Return info about a transfer/initiate transfer (source->target)
3832// Possibly should have a Params field like above
3833{
3834 TransferInfo Low NotTrusted Zerocoded
3835 {
3836 TransferInfo Single
3837 { TransferID LLUUID }
3838 { ChannelType S32 }
3839 { TargetType S32 }
3840 { Status S32 }
3841 { Size S32 }
3842 { Params Variable 2 }
3843 }
3844}
3845
3846{
3847 TransferPacket High NotTrusted Unencoded
3848 {
3849 TransferData Single
3850 { TransferID LLUUID }
3851 { ChannelType S32 }
3852 { Packet S32 }
3853 { Status S32 }
3854 { Data Variable 2 }
3855 }
3856}
3857
3858// Abort a transfer in progress (either from target->source or source->target)
3859{
3860 TransferAbort Low NotTrusted Zerocoded
3861 {
3862 TransferInfo Single
3863 { TransferID LLUUID }
3864 { ChannelType S32 }
3865 }
3866}
3867
3868// Change the priority of a transfer (target->source)
3869{
3870 TransferPriority Low NotTrusted Zerocoded
3871 {
3872 TransferInfo Single
3873 { TransferID LLUUID }
3874 { ChannelType S32 }
3875 { Priority F32 }
3876 }
3877}
3878
3879//-----------------------------------------------------------------------------
3880// General file transfer
3881//-----------------------------------------------------------------------------
3882
3883// RequestXfer - request an arbitrary xfer
3884{
3885 RequestXfer Low NotTrusted Zerocoded
3886 {
3887 XferID Single
3888 { ID U64 }
3889 { Filename Variable 1 }
3890 { FilePath U8 } // ELLPath
3891 { DeleteOnCompletion BOOL } // BOOL
3892 { UseBigPackets BOOL } // BOOL
3893 { VFileID LLUUID }
3894 { VFileType S16 }
3895 }
3896}
3897
3898// SendXferPacket - send an additional packet of an arbitrary xfer from sim -> viewer
3899{
3900 SendXferPacket High NotTrusted Unencoded
3901 {
3902 XferID Single
3903 { ID U64 }
3904 { Packet U32 }
3905 }
3906 {
3907 DataPacket Single
3908 { Data Variable 2 }
3909 }
3910}
3911
3912// ConfirmXferPacket
3913{
3914 ConfirmXferPacket High NotTrusted Unencoded
3915 {
3916 XferID Single
3917 { ID U64 }
3918 { Packet U32 }
3919 }
3920}
3921
3922// AbortXfer
3923{
3924 AbortXfer Low NotTrusted Unencoded
3925 {
3926 XferID Single
3927 { ID U64 }
3928 { Result S32 }
3929 }
3930}
3931
3932//-----------------------------------------------------------------------------
3933// Avatar information
3934//-----------------------------------------------------------------------------
3935
3936
3937// RequestAvatarInfo
3938{
3939 RequestAvatarInfo Low Trusted Unencoded
3940 {
3941 DataBlock Single
3942 { FullID LLUUID }
3943 }
3944}
3945
3946// AvatarAnimation - Update animation state
3947// simulator --> viewer
3948{
3949 AvatarAnimation High Trusted Unencoded
3950 {
3951 Sender Single
3952 { ID LLUUID }
3953 }
3954 {
3955 AnimationList Variable
3956 { AnimID LLUUID }
3957 { AnimSequenceID S32 }
3958 }
3959 {
3960 AnimationSourceList Variable
3961 { ObjectID LLUUID }
3962 }
3963}
3964
3965// AvatarAppearance - Update visual params
3966{
3967 AvatarAppearance Low Trusted Zerocoded
3968 {
3969 Sender Single
3970 { ID LLUUID }
3971 { IsTrial BOOL }
3972 }
3973 {
3974 ObjectData Single
3975 { TextureEntry Variable 2 }
3976 }
3977 {
3978 VisualParam Variable
3979 { ParamValue U8 }
3980 }
3981}
3982
3983// AvatarSitResponse - response to a request to sit on an object
3984{
3985 AvatarSitResponse High Trusted Zerocoded
3986 {
3987 SitObject Single
3988 { ID LLUUID }
3989 }
3990 {
3991 SitTransform Single
3992 { AutoPilot BOOL }
3993 { SitPosition LLVector3 }
3994 { SitRotation LLQuaternion }
3995 { CameraEyeOffset LLVector3 }
3996 { CameraAtOffset LLVector3 }
3997 { ForceMouselook BOOL }
3998 }
3999}
4000
4001// SetFollowCamProperties
4002{
4003 SetFollowCamProperties Low Trusted Unencoded
4004 {
4005 ObjectData Single
4006 { ObjectID LLUUID }
4007 }
4008 {
4009 CameraProperty Variable
4010 { Type S32 }
4011 { Value F32 }
4012 }
4013}
4014
4015// ClearFollowCamProperties
4016{
4017 ClearFollowCamProperties Low Trusted Unencoded
4018 {
4019 ObjectData Single
4020 { ObjectID LLUUID }
4021 }
4022}
4023
4024// CameraConstraint - new camera distance limit (based on collision with objects)
4025{
4026 CameraConstraint High Trusted Zerocoded
4027 {
4028 CameraCollidePlane Single
4029 { Plane LLVector4 }
4030 }
4031}
4032
4033// ObjectProperties
4034// Extended information such as creator, permissions, etc.
4035// Medium because potentially driven by mouse hover events.
4036{
4037 ObjectProperties Medium Trusted Zerocoded
4038 {
4039 ObjectData Variable
4040 { ObjectID LLUUID }
4041 { CreatorID LLUUID }
4042 { OwnerID LLUUID }
4043 { GroupID LLUUID }
4044 { CreationDate U64 }
4045 { BaseMask U32 }
4046 { OwnerMask U32 }
4047 { GroupMask U32 }
4048 { EveryoneMask U32 }
4049 { NextOwnerMask U32 }
4050 { OwnershipCost S32 }
4051// { TaxRate F32 } // F32
4052 { SaleType U8 } // U8 -> EForSale
4053 { SalePrice S32 }
4054 { AggregatePerms U8 }
4055 { AggregatePermTextures U8 }
4056 { AggregatePermTexturesOwner U8 }
4057 { Category U32 } // LLCategory
4058 { InventorySerial S16 } // S16
4059 { ItemID LLUUID }
4060 { FolderID LLUUID }
4061 { FromTaskID LLUUID }
4062 { LastOwnerID LLUUID }
4063 { Name Variable 1 }
4064 { Description Variable 1 }
4065 { TouchName Variable 1 }
4066 { SitName Variable 1 }
4067 { TextureID Variable 1 }
4068 }
4069}
4070
4071// ObjectPropertiesFamily
4072// Medium because potentially driven by mouse hover events.
4073{
4074 ObjectPropertiesFamily Medium Trusted Zerocoded
4075 {
4076 ObjectData Single
4077 { RequestFlags U32 }
4078 { ObjectID LLUUID }
4079 { OwnerID LLUUID }
4080 { GroupID LLUUID }
4081 { BaseMask U32 }
4082 { OwnerMask U32 }
4083 { GroupMask U32 }
4084 { EveryoneMask U32 }
4085 { NextOwnerMask U32 }
4086 { OwnershipCost S32 }
4087 { SaleType U8 } // U8 -> EForSale
4088 { SalePrice S32 }
4089 { Category U32 } // LLCategory
4090 { LastOwnerID LLUUID }
4091 { Name Variable 1 }
4092 { Description Variable 1 }
4093 }
4094}
4095
4096// RequestPayPrice
4097// viewer -> sim
4098{
4099 RequestPayPrice Low NotTrusted Unencoded
4100 {
4101 ObjectData Single
4102 { ObjectID LLUUID }
4103 }
4104}
4105
4106// PayPriceReply
4107// sim -> viewer
4108{
4109 PayPriceReply Low Trusted Unencoded
4110 {
4111 ObjectData Single
4112 { ObjectID LLUUID }
4113 { DefaultPayPrice S32 }
4114 }
4115 {
4116 ButtonData Variable
4117
4118 { PayButton S32 }
4119 }
4120}
4121
4122// KickUser
4123// *FIXME*
4124// Kick off a logged-in user, such as when two people log in with the
4125// same account name.
4126// ROUTED dataserver -> userserver -> spaceserver -> simulator -> viewer
4127// reliable, but that may not matter if a system component is quitting
4128{
4129 KickUser Low Trusted Unencoded
4130 {
4131 TargetBlock Single
4132 { TargetIP IPADDR } // U32 encoded IP
4133 { TargetPort IPPORT }
4134 }
4135 {
4136 UserInfo Single
4137 { AgentID LLUUID }
4138 { SessionID LLUUID }
4139 { Reason Variable 2 } // string
4140 }
4141}
4142
4143// ack sent from the simulator up to the main database so that login
4144// can continue.
4145{
4146 KickUserAck Low Trusted Unencoded
4147 {
4148 UserInfo Single
4149 { SessionID LLUUID }
4150 { Flags U32 }
4151 }
4152}
4153
4154// GodKickUser
4155// When a god wants someone kicked
4156// viewer -> sim
4157// reliable
4158{
4159 GodKickUser Low NotTrusted Unencoded
4160 {
4161 UserInfo Single
4162 { GodID LLUUID }
4163 { GodSessionID LLUUID }
4164 { AgentID LLUUID }
4165 { KickFlags U32 }
4166 { Reason Variable 2 } // string
4167 }
4168}
4169
4170// SystemKickUser
4171// user->space, reliable
4172{
4173 SystemKickUser Low Trusted Unencoded
4174 {
4175 AgentInfo Variable
4176 { AgentID LLUUID }
4177 }
4178}
4179
4180// EjectUser
4181// viewer -> sim
4182// reliable
4183{
4184 EjectUser Low NotTrusted Unencoded
4185 {
4186 AgentData Single
4187 { AgentID LLUUID }
4188 { SessionID LLUUID }
4189 }
4190 {
4191 Data Single
4192 { TargetID LLUUID }
4193 { Flags U32 }
4194 }
4195}
4196
4197// FreezeUser
4198// Freeze someone who is on my land.
4199// viewer -> sim
4200// reliable
4201{
4202 FreezeUser Low NotTrusted Unencoded
4203 {
4204 AgentData Single
4205 { AgentID LLUUID }
4206 { SessionID LLUUID }
4207 }
4208 {
4209 Data Single
4210 { TargetID LLUUID }
4211 { Flags U32 }
4212 }
4213}
4214
4215
4216// AvatarPropertiesRequest
4217// viewer -> simulator
4218// reliable
4219{
4220 AvatarPropertiesRequest Low NotTrusted Unencoded
4221 {
4222 AgentData Single
4223 { AgentID LLUUID }
4224 { SessionID LLUUID }
4225 { AvatarID LLUUID }
4226 }
4227}
4228
4229// AvatarPropertiesRequestBackend
4230// simulator -> dataserver
4231// reliable
4232{
4233 AvatarPropertiesRequestBackend Low Trusted Unencoded
4234 {
4235 AgentData Single
4236 { AgentID LLUUID }
4237 { AvatarID LLUUID }
4238 { GodLevel U8 }
4239 { WebProfilesDisabled BOOL }
4240 }
4241}
4242// AvatarPropertiesReply
4243// dataserver -> simulator
4244// simulator -> viewer
4245// reliable
4246{
4247 AvatarPropertiesReply Low Trusted Zerocoded
4248 {
4249 AgentData Single
4250 { AgentID LLUUID } // your id
4251 { AvatarID LLUUID } // avatar you're asking about
4252 }
4253 {
4254 PropertiesData Single
4255 { ImageID LLUUID }
4256 { FLImageID LLUUID }
4257 { PartnerID LLUUID }
4258 { AboutText Variable 2 } // string, up to 512
4259 { FLAboutText Variable 1 } // string
4260 { BornOn Variable 1 } // string
4261 { ProfileURL Variable 1 } // string
4262 { CharterMember Variable 1 } // special - usually U8
4263 { AllowPublish BOOL } // whether profile is externally visible or not
4264 { MaturePublish BOOL } // profile is "mature"
4265 { Identified BOOL } // whether avatar has provided payment info
4266 { Transacted BOOL } // whether avatar has actively used payment info
4267 }
4268}
4269
4270{
4271 AvatarInterestsReply Low Trusted Zerocoded
4272 {
4273 AgentData Single
4274 { AgentID LLUUID } // your id
4275 { AvatarID LLUUID } // avatar you're asking about
4276 }
4277 {
4278 PropertiesData Single
4279 { WantToMask U32 }
4280 { WantToText Variable 1 } // string
4281 { SkillsMask U32 }
4282 { SkillsText Variable 1 } // string
4283 { LanguagesText Variable 1 } // string
4284 }
4285}
4286
4287// AvatarGroupsReply
4288// dataserver -> simulator
4289// simulator -> viewer
4290// reliable
4291{
4292 AvatarGroupsReply Low Trusted Zerocoded
4293 {
4294 AgentData Single
4295 { AgentID LLUUID } // your id
4296 { AvatarID LLUUID } // avatar you're asking about
4297 }
4298 {
4299 GroupData Variable
4300 { GroupPowers U64 }
4301 { AcceptNotices BOOL }
4302 { GroupTitle Variable 1 }
4303 { GroupID LLUUID }
4304 { GroupName Variable 1 }
4305 { GroupInsigniaID LLUUID }
4306 }
4307}
4308
4309
4310// AvatarPropertiesUpdate
4311// viewer -> simulator
4312// reliable
4313{
4314 AvatarPropertiesUpdate Low NotTrusted Zerocoded
4315 {
4316 AgentData Single
4317 { AgentID LLUUID }
4318 { SessionID LLUUID }
4319 }
4320 {
4321 PropertiesData Single
4322 { ImageID LLUUID }
4323 { FLImageID LLUUID }
4324 { AboutText Variable 2 } // string, up to 512
4325 { FLAboutText Variable 1 }
4326 { AllowPublish BOOL } // whether profile is externally visible or not
4327 { MaturePublish BOOL } // profile is "mature"
4328 { ProfileURL Variable 1 } // string
4329 }
4330}
4331
4332// AvatarInterestsUpdate
4333// viewer -> simulator
4334// reliable
4335{
4336 AvatarInterestsUpdate Low NotTrusted Zerocoded
4337 {
4338 AgentData Single
4339 { AgentID LLUUID }
4340 { SessionID LLUUID }
4341 }
4342 {
4343 PropertiesData Single
4344 { WantToMask U32 }
4345 { WantToText Variable 1 } // string
4346 { SkillsMask U32 }
4347 { SkillsText Variable 1 } // string
4348 { LanguagesText Variable 1 } // string
4349 }
4350}
4351
4352// AvatarStatisticsReply
4353// dataserver -> simulator
4354// simulator -> viewer
4355// reliable
4356{
4357 AvatarStatisticsReply Low Trusted Zerocoded
4358 {
4359 AgentData Single
4360 { AgentID LLUUID }
4361 }
4362 {
4363 AvatarData Single
4364 { AvatarID LLUUID }
4365 }
4366 {
4367 StatisticsData Variable
4368 { Name Variable 1 } // string
4369 { Positive S32 }
4370 { Negative S32 }
4371 }
4372}
4373
4374
4375// AvatarNotesReply
4376// dataserver -> simulator
4377// simulator -> viewer
4378// reliable
4379{
4380 AvatarNotesReply Low Trusted Unencoded
4381 {
4382 AgentData Single
4383 { AgentID LLUUID }
4384 }
4385 {
4386 Data Single
4387 { TargetID LLUUID }
4388 { Notes Variable 2 } // string
4389 }
4390}
4391
4392
4393// AvatarNotesUpdate
4394// viewer -> simulator -> dataserver
4395// reliable
4396{
4397 AvatarNotesUpdate Low NotTrusted Unencoded
4398 {
4399 AgentData Single
4400 { AgentID LLUUID }
4401 { SessionID LLUUID }
4402 }
4403 {
4404 Data Single
4405 { TargetID LLUUID }
4406 { Notes Variable 2 } // string
4407 }
4408}
4409
4410
4411// AvatarPicksReply
4412// dataserver -> simulator -> viewer
4413// Send the header information for this avatar's picks
4414// This fills in the tabs of the Picks panel.
4415// reliable
4416{
4417 AvatarPicksReply Low Trusted Unencoded
4418 {
4419 AgentData Single
4420 { AgentID LLUUID }
4421 { TargetID LLUUID }
4422 }
4423 {
4424 Data Variable
4425 { PickID LLUUID }
4426 { PickName Variable 1 } // string
4427 }
4428}
4429
4430
4431// EventInfoRequest
4432// viewer -> simulator
4433// simulator -> dataserver
4434// reliable
4435{
4436 EventInfoRequest Low NotTrusted Unencoded
4437 {
4438 AgentData Single
4439 { AgentID LLUUID }
4440 { SessionID LLUUID }
4441 }
4442 {
4443 EventData Single
4444 { EventID U32 }
4445 }
4446}
4447
4448
4449// EventInfoReply
4450// dataserver -> simulator
4451// simulator -> viewer
4452// reliable
4453{
4454 EventInfoReply Low Trusted Unencoded
4455 {
4456 AgentData Single
4457 { AgentID LLUUID }
4458 }
4459 {
4460 EventData Single
4461 { EventID U32 }
4462 { Creator Variable 1 }
4463 { Name Variable 1 }
4464 { Category Variable 1 }
4465 { Desc Variable 2 }
4466 { Date Variable 1 }
4467 { DateUTC U32 }
4468 { Duration U32 }
4469 { Cover U32 }
4470 { Amount U32 }
4471 { SimName Variable 1 }
4472 { GlobalPos LLVector3d }
4473 { EventFlags U32 }
4474 }
4475}
4476
4477
4478// EventNotificationAddRequest
4479// viewer -> simulator
4480// simulator -> dataserver
4481// reliable
4482{
4483 EventNotificationAddRequest Low NotTrusted Unencoded
4484 {
4485 AgentData Single
4486 { AgentID LLUUID }
4487 { SessionID LLUUID }
4488 }
4489 {
4490 EventData Single
4491 { EventID U32 }
4492 }
4493}
4494
4495
4496// EventNotificationRemoveRequest
4497// viewer -> simulator
4498// simulator -> dataserver
4499// reliable
4500{
4501 EventNotificationRemoveRequest Low NotTrusted Unencoded
4502 {
4503 AgentData Single
4504 { AgentID LLUUID }
4505 { SessionID LLUUID }
4506 }
4507 {
4508 EventData Single
4509 { EventID U32 }
4510 }
4511}
4512
4513// EventGodDelete
4514// viewer -> simulator
4515// simulator -> dataserver
4516// QueryData is used to resend a search result after the deletion
4517// reliable
4518{
4519 EventGodDelete Low NotTrusted Unencoded
4520 {
4521 AgentData Single
4522 { AgentID LLUUID }
4523 { SessionID LLUUID }
4524 }
4525 {
4526 EventData Single
4527 { EventID U32 }
4528 }
4529 {
4530 QueryData Single
4531 { QueryID LLUUID }
4532 { QueryText Variable 1 }
4533 { QueryFlags U32 }
4534 { QueryStart S32 } // prev/next page support
4535 }
4536}
4537
4538// PickInfoRequest
4539// viewer -> simulator
4540// simulator -> dataserver
4541// If CreatorID is not null, then we're looking for an agent pick
4542// or picks.
4543// reliable
4544{
4545 PickInfoRequest Low NotTrusted Zerocoded
4546 {
4547 AgentData Single
4548 { AgentID LLUUID }
4549 { SessionID LLUUID }
4550 }
4551 {
4552 Data Single
4553 { PickID LLUUID }
4554 }
4555}
4556
4557
4558// PickInfoReply
4559// dataserver -> simulator
4560// simulator -> viewer
4561// reliable
4562{
4563 PickInfoReply Low Trusted Unencoded
4564 {
4565 AgentData Single
4566 { AgentID LLUUID }
4567 }
4568 {
4569 Data Single
4570 { PickID LLUUID }
4571 { CreatorID LLUUID }
4572 { TopPick BOOL }
4573 { ParcelID LLUUID }
4574 { Name Variable 1 }
4575 { Desc Variable 2 }
4576 { SnapshotID LLUUID }
4577 { User Variable 1 }
4578 { OriginalName Variable 1 }
4579 { SimName Variable 1 }
4580 { PosGlobal LLVector3d }
4581 { SortOrder S32 }
4582 { Enabled BOOL }
4583 }
4584}
4585
4586
4587// PickInfoUpdate
4588// Update a pick. ParcelID is set on the simulator as the message
4589// passes through.
4590// If TopPick is TRUE, the simulator will only pass on the message
4591// if the agent_id is a god.
4592// viewer -> simulator -> dataserver
4593// reliable
4594{
4595 PickInfoUpdate Low NotTrusted Unencoded
4596 {
4597 AgentData Single
4598 { AgentID LLUUID }
4599 { SessionID LLUUID }
4600 }
4601 {
4602 Data Single
4603 { PickID LLUUID }
4604 { CreatorID LLUUID }
4605 { TopPick BOOL }
4606 { ParcelID LLUUID }
4607 { Name Variable 1 }
4608 { Desc Variable 2 }
4609 { SnapshotID LLUUID }
4610 { PosGlobal LLVector3d }
4611 { SortOrder S32 }
4612 { Enabled BOOL }
4613 }
4614}
4615
4616
4617// PickDelete
4618// Delete a non-top pick from the database.
4619// viewer -> simulator -> dataserver
4620// reliable
4621{
4622 PickDelete Low NotTrusted Unencoded
4623 {
4624 AgentData Single
4625 { AgentID LLUUID }
4626 { SessionID LLUUID }
4627 }
4628 {
4629 Data Single
4630 { PickID LLUUID }
4631 }
4632}
4633
4634// PickGodDelete
4635// Delete a pick from the database.
4636// QueryID is needed so database can send a repeat list of
4637// picks.
4638// viewer -> simulator -> dataserver
4639// reliable
4640{
4641 PickGodDelete Low NotTrusted Unencoded
4642 {
4643 AgentData Single
4644 { AgentID LLUUID }
4645 { SessionID LLUUID }
4646 }
4647 {
4648 Data Single
4649 { PickID LLUUID }
4650 { QueryID LLUUID }
4651 }
4652}
4653
4654
4655// ScriptQuestion
4656// reliable
4657{
4658 ScriptQuestion Low Trusted Unencoded
4659 {
4660 Data Single
4661 { TaskID LLUUID }
4662 { ItemID LLUUID }
4663 { ObjectName Variable 1 }
4664 { ObjectOwner Variable 1 }
4665 { Questions S32 }
4666 }
4667}
4668
4669// ScriptControlChange
4670// reliable
4671{
4672 ScriptControlChange Low Trusted Unencoded
4673 {
4674 Data Variable
4675 { TakeControls BOOL }
4676 { Controls U32 }
4677 { PassToAgent BOOL }
4678 }
4679}
4680
4681// ScriptDialog
4682// sim -> viewer
4683// reliable
4684{
4685 ScriptDialog Low Trusted Zerocoded
4686 {
4687 Data Single
4688 { ObjectID LLUUID }
4689 { FirstName Variable 1 }
4690 { LastName Variable 1 }
4691 { ObjectName Variable 1 }
4692 { Message Variable 2 }
4693 { ChatChannel S32 }
4694 { ImageID LLUUID }
4695 }
4696 {
4697 Buttons Variable
4698 { ButtonLabel Variable 1 }
4699 }
4700}
4701
4702
4703// ScriptDialogReply
4704// viewer -> sim
4705// reliable
4706{
4707 ScriptDialogReply Low NotTrusted Zerocoded
4708 {
4709 AgentData Single
4710 { AgentID LLUUID }
4711 { SessionID LLUUID }
4712 }
4713 {
4714 Data Single
4715 { ObjectID LLUUID }
4716 { ChatChannel S32 }
4717 { ButtonIndex S32 }
4718 { ButtonLabel Variable 1 }
4719 }
4720}
4721
4722
4723// ForceScriptControlRelease
4724// reliable
4725{
4726 ForceScriptControlRelease Low NotTrusted Unencoded
4727 {
4728 AgentData Single
4729 { AgentID LLUUID }
4730 { SessionID LLUUID }
4731 }
4732}
4733
4734// RevokePermissions
4735// reliable
4736{
4737 RevokePermissions Low NotTrusted Unencoded
4738 {
4739 AgentData Single
4740 { AgentID LLUUID }
4741 { SessionID LLUUID }
4742 }
4743 {
4744 Data Single
4745 { ObjectID LLUUID }
4746 { ObjectPermissions U32 }
4747 }
4748}
4749
4750// LoadURL
4751// sim -> viewer
4752// Ask the user if they would like to load a URL
4753// reliable
4754{
4755 LoadURL Low Trusted Unencoded
4756 {
4757 Data Single
4758 { ObjectName Variable 1 }
4759 { ObjectID LLUUID }
4760 { OwnerID LLUUID }
4761 { OwnerIsGroup BOOL }
4762 { Message Variable 1 }
4763 { URL Variable 1 }
4764 }
4765}
4766
4767// ScriptTeleportRequest
4768// reliable
4769{
4770 ScriptTeleportRequest Low Trusted Unencoded
4771 {
4772 Data Single
4773 { ObjectName Variable 1 }
4774 { SimName Variable 1 }
4775 { SimPosition LLVector3 }
4776 { LookAt LLVector3 }
4777 }
4778}
4779
4780
4781
4782
4783// ***************************************************************************
4784// Land Parcel system
4785// ***************************************************************************
4786
4787// ParcelOverlay
4788// We send N packets per region to the viewer.
4789// N = 4, currently. At 256x256 meter regions, 4x4 meter parcel grid,
4790// there are 4096 parcel units per region. At N = 4, that's 1024 units
4791// per packet, allowing 8 bit bytes.
4792// sim -> viewer
4793// reliable
4794{
4795 ParcelOverlay Low Trusted Zerocoded
4796 {
4797 ParcelData Single
4798 { SequenceID S32 } // 0...3, which piece of region
4799 { Data Variable 2 } // packed bit-field, (grids*grids)/N
4800 }
4801}
4802
4803
4804// ParcelPropertiesRequest
4805// SequenceID should be -1 or -2, and is echoed back in the
4806// parcel properties message.
4807// viewer -> sim
4808// reliable
4809{
4810 ParcelPropertiesRequest Medium NotTrusted Zerocoded
4811 {
4812 AgentData Single
4813 { AgentID LLUUID }
4814 { SessionID LLUUID }
4815 }
4816 {
4817 ParcelData Single
4818 { SequenceID S32 }
4819 { West F32 }
4820 { South F32 }
4821 { East F32 }
4822 { North F32 }
4823 { SnapSelection BOOL }
4824 }
4825}
4826
4827// ParcelPropertiesRequestByID
4828// viewer -> sim
4829// reliable
4830{
4831 ParcelPropertiesRequestByID Low NotTrusted Zerocoded
4832 {
4833 AgentData Single
4834 { AgentID LLUUID }
4835 { SessionID LLUUID }
4836 }
4837 {
4838 ParcelData Single
4839 { SequenceID S32 }
4840 { LocalID S32 }
4841 }
4842}
4843
4844// ParcelProperties
4845// sequence id = -1 for parcels that you explicitly selected
4846// For agents, sequence id increments every time the agent transits into
4847// a new parcel. It is used to detect out-of-order agent parcel info updates.
4848// Bitmap = packed bit field, one bit per parcel grid, on if that grid is
4849// part of the selected parcel.
4850// sim -> viewer
4851// WARNING: This packet is potentially large. With max length name,
4852// description, music URL and media URL, it is 1526 + sizeof ( LLUUID ) bytes.
4853{
4854 ParcelProperties High Trusted Zerocoded
4855 {
4856 ParcelData Single
4857 { RequestResult S32 }
4858 { SequenceID S32 }
4859 { SnapSelection BOOL }
4860 { SelfCount S32 }
4861 { OtherCount S32 }
4862 { PublicCount S32 }
4863 { LocalID S32 }
4864 { OwnerID LLUUID }
4865 { IsGroupOwned BOOL }
4866 { AuctionID U32 }
4867 { ReservedNewbie BOOL }
4868 { ClaimDate S32 } // time_t
4869 { ClaimPrice S32 }
4870 { RentPrice S32 }
4871 { AABBMin LLVector3 }
4872 { AABBMax LLVector3 }
4873 { Bitmap Variable 2 } // packed bit-field
4874 { Area S32 }
4875 { Status U8 } // owned vs. pending
4876 { SimWideMaxPrims S32 }
4877 { SimWideTotalPrims S32 }
4878 { MaxPrims S32 }
4879 { TotalPrims S32 }
4880 { OwnerPrims S32 }
4881 { GroupPrims S32 }
4882 { OtherPrims S32 }
4883 { SelectedPrims S32 }
4884 { ParcelPrimBonus F32 }
4885
4886 { OtherCleanTime S32 }
4887
4888 { ParcelFlags U32 }
4889 { SalePrice S32 }
4890 { Name Variable 1 } // string
4891 { Desc Variable 1 } // string
4892 { MusicURL Variable 1 } // string
4893 { MediaURL Variable 1 } // string
4894 { MediaID LLUUID }
4895 { MediaAutoScale U8 }
4896 { GroupID LLUUID }
4897 { PassPrice S32 }
4898 { PassHours F32 }
4899 { Category U8 }
4900 { AuthBuyerID LLUUID }
4901 { SnapshotID LLUUID }
4902 { UserLocation LLVector3 }
4903 { UserLookAt LLVector3 }
4904 { LandingType U8 }
4905 { RegionPushOverride BOOL }
4906 { RegionDenyAnonymous BOOL }
4907 { RegionDenyIdentified BOOL }
4908 { RegionDenyTransacted BOOL }
4909 }
4910}
4911
4912// ParcelPropertiesUpdate
4913// viewer -> sim
4914// reliable
4915{
4916 ParcelPropertiesUpdate Low NotTrusted Zerocoded
4917 {
4918 AgentData Single
4919 { AgentID LLUUID }
4920 { SessionID LLUUID }
4921 }
4922 {
4923 ParcelData Single
4924 { LocalID S32 }
4925 { Flags U32 }
4926
4927 { ParcelFlags U32 }
4928 { SalePrice S32 }
4929 { Name Variable 1 } // string
4930 { Desc Variable 1 } // string
4931 { MusicURL Variable 1 } // string
4932 { MediaURL Variable 1 } // string
4933 { MediaID LLUUID }
4934 { MediaAutoScale U8 }
4935 { GroupID LLUUID }
4936 { PassPrice S32 }
4937 { PassHours F32 }
4938 { Category U8 }
4939 { AuthBuyerID LLUUID }
4940 { SnapshotID LLUUID }
4941 { UserLocation LLVector3 }
4942 { UserLookAt LLVector3 }
4943 { LandingType U8 }
4944 }
4945}
4946
4947// ParcelReturnObjects
4948// viewer -> sim
4949// reliable
4950{
4951 ParcelReturnObjects Low NotTrusted Zerocoded
4952 {
4953 AgentData Single
4954 { AgentID LLUUID }
4955 { SessionID LLUUID }
4956 }
4957 {
4958 ParcelData Single
4959 { LocalID S32 }
4960 { ReturnType U32 }
4961 }
4962 {
4963 TaskIDs Variable
4964 { TaskID LLUUID }
4965 }
4966 {
4967 OwnerIDs Variable
4968 { OwnerID LLUUID }
4969 }
4970}
4971
4972// ParcelSetOtherCleanTime
4973// viewer -> sim
4974// reliable
4975{
4976 ParcelSetOtherCleanTime Low NotTrusted Zerocoded
4977 {
4978 AgentData Single
4979 { AgentID LLUUID }
4980 { SessionID LLUUID }
4981 }
4982 {
4983 ParcelData Single
4984 { LocalID S32 }
4985 { OtherCleanTime S32 }
4986 }
4987}
4988
4989
4990// Disable makes objects nonphysical and turns off their scripts.
4991// ParcelDisableObjects
4992// viewer -> sim
4993// reliable
4994{
4995 ParcelDisableObjects Low NotTrusted Zerocoded
4996 {
4997 AgentData Single
4998 { AgentID LLUUID }
4999 { SessionID LLUUID }
5000 }
5001 {
5002 ParcelData Single
5003 { LocalID S32 }
5004 { ReturnType U32 }
5005 }
5006 {
5007 TaskIDs Variable
5008 { TaskID LLUUID }
5009 }
5010 {
5011 OwnerIDs Variable
5012 { OwnerID LLUUID }
5013 }
5014}
5015
5016
5017// ParcelSelectObjects
5018// viewer -> sim
5019// reliable
5020{
5021 ParcelSelectObjects Low NotTrusted Zerocoded
5022 {
5023 AgentData Single
5024 { AgentID LLUUID }
5025 { SessionID LLUUID }
5026 }
5027 {
5028 ParcelData Single
5029 { LocalID S32 }
5030 { ReturnType U32 }
5031 }
5032 {
5033 ReturnIDs Variable
5034 { ReturnID LLUUID }
5035 }
5036}
5037
5038
5039// EstateCovenantRequest
5040// viewer -> sim
5041// reliable
5042{
5043 EstateCovenantRequest Low NotTrusted Unencoded
5044 {
5045 AgentData Single
5046 { AgentID LLUUID }
5047 { SessionID LLUUID }
5048 }
5049}
5050
5051// EstateCovenantReply
5052// sim -> viewer
5053// reliable
5054{
5055 EstateCovenantReply Low Trusted Unencoded
5056 {
5057 Data Single
5058 { CovenantID LLUUID }
5059 { CovenantTimestamp U32 }
5060 { EstateName Variable 1 } // string
5061 { EstateOwnerID LLUUID }
5062 }
5063}
5064
5065
5066// ForceObjectSelect
5067// sim -> viewer
5068// reliable
5069{
5070 ForceObjectSelect Low Trusted Unencoded
5071 {
5072 Header Single
5073 { ResetList BOOL }
5074 }
5075 {
5076 Data Variable
5077 { LocalID U32 }
5078 }
5079}
5080
5081
5082// ParcelBuyPass - purchase a temporary access pass
5083// viewer -> sim
5084// reliable
5085{
5086 ParcelBuyPass Low NotTrusted Unencoded
5087 {
5088 AgentData Single
5089 { AgentID LLUUID }
5090 { SessionID LLUUID }
5091 }
5092 {
5093 ParcelData Single
5094 { LocalID S32 }
5095 }
5096}
5097
5098// ParcelDeedToGroup - deed a patch of land to a group
5099// viewer -> sim
5100// reliable
5101{
5102 ParcelDeedToGroup Low NotTrusted Unencoded
5103 {
5104 AgentData Single
5105 { AgentID LLUUID }
5106 { SessionID LLUUID }
5107 }
5108 {
5109 Data Single
5110 { GroupID LLUUID }
5111 { LocalID S32 } // parcel id
5112 }
5113}
5114
5115// reserved for when island owners force re-claim parcel
5116{
5117 ParcelReclaim Low NotTrusted Unencoded
5118 {
5119 AgentData Single
5120 { AgentID LLUUID }
5121 { SessionID LLUUID }
5122 }
5123 {
5124 Data Single
5125 { LocalID S32 } // parcel id
5126 }
5127}
5128
5129// ParcelClaim - change the owner of a patch of land
5130// viewer -> sim
5131// reliable
5132{
5133 ParcelClaim Low NotTrusted Zerocoded
5134 {
5135 AgentData Single
5136 { AgentID LLUUID }
5137 { SessionID LLUUID }
5138 }
5139 {
5140 Data Single
5141 { GroupID LLUUID }
5142 { IsGroupOwned BOOL }
5143 { Final BOOL } // true if buyer is in tier
5144 }
5145 {
5146 ParcelData Variable
5147 { West F32 }
5148 { South F32 }
5149 { East F32 }
5150 { North F32 }
5151 }
5152}
5153
5154// ParcelJoin - Take all parcels which are owned by agent and inside
5155// rectangle, and make them 1 parcel if they all are leased.
5156// viewer -> sim
5157// reliable
5158{
5159 ParcelJoin Low NotTrusted Unencoded
5160 {
5161 AgentData Single
5162 { AgentID LLUUID }
5163 { SessionID LLUUID }
5164 }
5165 {
5166 ParcelData Single
5167 { West F32 }
5168 { South F32 }
5169 { East F32 }
5170 { North F32 }
5171 }
5172}
5173
5174// ParcelDivide
5175// If the selection is a subsection of exactly one parcel,
5176// chop out that section and make a new parcel of it.
5177// viewer -> sim
5178// reliable
5179{
5180 ParcelDivide Low NotTrusted Unencoded
5181 {
5182 AgentData Single
5183 { AgentID LLUUID }
5184 { SessionID LLUUID }
5185 }
5186 {
5187 ParcelData Single
5188 { West F32 }
5189 { South F32 }
5190 { East F32 }
5191 { North F32 }
5192 }
5193}
5194
5195// ParcelRelease
5196// Release a parcel to public
5197// viewer -> sim
5198// reliable
5199{
5200 ParcelRelease Low NotTrusted Unencoded
5201 {
5202 AgentData Single
5203 { AgentID LLUUID }
5204 { SessionID LLUUID }
5205 }
5206 {
5207 Data Single
5208 { LocalID S32 } // parcel ID
5209 }
5210}
5211
5212// ParcelBuy - change the owner of a patch of land.
5213// viewer -> sim
5214// reliable
5215{
5216 ParcelBuy Low NotTrusted Zerocoded
5217 {
5218 AgentData Single
5219 { AgentID LLUUID }
5220 { SessionID LLUUID }
5221 }
5222 {
5223 Data Single
5224 { GroupID LLUUID }
5225 { IsGroupOwned BOOL }
5226 { RemoveContribution BOOL }
5227 { LocalID S32 }
5228 { Final BOOL } // true if buyer is in tier
5229 }
5230}
5231
5232
5233// ParcelGodForceOwner Unencoded
5234{
5235 ParcelGodForceOwner Low NotTrusted Zerocoded
5236 {
5237 AgentData Single
5238 { AgentID LLUUID }
5239 { SessionID LLUUID }
5240 }
5241 {
5242 Data Single
5243 { OwnerID LLUUID }
5244 { LocalID S32 } // parcel ID
5245 }
5246}
5247
5248
5249// viewer -> sim
5250// ParcelAccessListRequest
5251{
5252 ParcelAccessListRequest Low NotTrusted Zerocoded
5253 {
5254 AgentData Single
5255 { AgentID LLUUID }
5256 { SessionID LLUUID }
5257 }
5258 {
5259 Data Single
5260 { SequenceID S32 }
5261 { Flags U32 }
5262 { LocalID S32 }
5263 }
5264}
5265
5266
5267// sim -> viewer
5268// ParcelAccessListReply
5269{
5270 ParcelAccessListReply Low Trusted Zerocoded
5271 {
5272 Data Single
5273 { AgentID LLUUID }
5274 { SequenceID S32 }
5275 { Flags U32 }
5276 { LocalID S32 }
5277 }
5278 {
5279 List Variable
5280 { ID LLUUID }
5281 { Time S32 } // time_t
5282 { Flags U32 }
5283 }
5284}
5285
5286// viewer -> sim
5287// ParcelAccessListUpdate
5288{
5289 ParcelAccessListUpdate Low NotTrusted Zerocoded
5290 {
5291 AgentData Single
5292 { AgentID LLUUID }
5293 { SessionID LLUUID }
5294 }
5295 {
5296 Data Single
5297 { Flags U32 }
5298 { LocalID S32 }
5299 { TransactionID LLUUID }
5300 { SequenceID S32 }
5301 { Sections S32 }
5302 }
5303 {
5304 List Variable
5305 { ID LLUUID }
5306 { Time S32 } // time_t
5307 { Flags U32 }
5308 }
5309}
5310
5311
5312// viewer -> sim -> dataserver
5313// reliable
5314{
5315 ParcelDwellRequest Low NotTrusted Unencoded
5316 {
5317 AgentData Single
5318 { AgentID LLUUID }
5319 { SessionID LLUUID }
5320 }
5321 {
5322 Data Single
5323 { LocalID S32 }
5324 { ParcelID LLUUID } // filled in on sim
5325 }
5326}
5327
5328
5329// dataserver -> sim -> viewer
5330// reliable
5331{
5332 ParcelDwellReply Low Trusted Unencoded
5333 {
5334 AgentData Single
5335 { AgentID LLUUID }
5336 }
5337 {
5338 Data Single
5339 { LocalID S32 }
5340 { ParcelID LLUUID }
5341 { Dwell F32 }
5342 }
5343}
5344
5345// sim -> dataserver
5346// This message is used to check if a user can buy a parcel. If
5347// successful, the transaction is approved through a money balance reply
5348// with the same transaction id.
5349{
5350 RequestParcelTransfer Low Trusted Zerocoded
5351 {
5352 Data Single
5353 { TransactionID LLUUID }
5354 { TransactionTime U32 } // utc seconds since epoch
5355 { SourceID LLUUID }
5356 { DestID LLUUID }
5357 { OwnerID LLUUID }
5358 { Flags U8 } // see lltransactiontypes.h
5359 { TransactionType S32 } // see lltransactiontypes.h
5360 { Amount S32 }
5361 { BillableArea S32 }
5362 { ActualArea S32 }
5363 { Final BOOL } // true if buyer should be in tier
5364 { ReservedNewbie BOOL }
5365 }
5366}
5367
5368// sim ->dataserver
5369// This message is used to send up complete parcel properties for
5370// persistance in the database.
5371// If you add something here, you should probably also change the
5372// simulator's database update query on startup.
5373{
5374 UpdateParcel Low Trusted Zerocoded
5375 {
5376 ParcelData Single
5377 { ParcelID LLUUID }
5378 { RegionHandle U64 }
5379 { OwnerID LLUUID }
5380 { GroupOwned BOOL }
5381 { Status U8 }
5382 { Name Variable 1 }
5383 { Description Variable 1 }
5384 { MusicURL Variable 1 }
5385 { RegionX F32 }
5386 { RegionY F32 }
5387 { ActualArea S32 }
5388 { BillableArea S32 }
5389 { ShowDir BOOL }
5390 { IsForSale BOOL }
5391 { Category U8 }
5392 { SnapshotID LLUUID }
5393 { UserLocation LLVector3 }
5394 { SalePrice S32 }
5395 { AuthorizedBuyerID LLUUID }
5396 { ReservedNewbie BOOL }
5397 { AllowPublish BOOL }
5398 { MaturePublish BOOL }
5399 }
5400}
5401
5402// sim -> dataserver or space ->sim
5403// This message is used to tell the dataserver that a parcel has been
5404// removed.
5405{
5406 RemoveParcel Low Trusted Unencoded
5407 {
5408 ParcelData Variable
5409 { ParcelID LLUUID }
5410 }
5411}
5412
5413// sim -> dataserver
5414// Merges some of the database information for parcels (dwell).
5415{
5416 MergeParcel Low Trusted Unencoded
5417 {
5418 MasterParcelData Single
5419 { MasterID LLUUID }
5420 }
5421 {
5422 SlaveParcelData Variable
5423 { SlaveID LLUUID }
5424 }
5425}
5426
5427// sim -> dataserver
5428{
5429 LogParcelChanges Low Trusted Zerocoded
5430 {
5431 AgentData Single
5432 { AgentID LLUUID }
5433 }
5434 {
5435 RegionData Single
5436 { RegionHandle U64 }
5437 }
5438 {
5439 ParcelData Variable
5440 { ParcelID LLUUID }
5441 { OwnerID LLUUID }
5442 { IsOwnerGroup BOOL }
5443 { ActualArea S32 }
5444 { Action S8 }
5445 { TransactionID LLUUID }
5446 }
5447}
5448
5449// sim -> dataserver
5450{
5451 CheckParcelSales Low Trusted Unencoded
5452 {
5453 RegionData Variable
5454 { RegionHandle U64 }
5455 }
5456}
5457
5458// dataserver -> simulator
5459// tell a particular simulator to finish parcel sale.
5460{
5461 ParcelSales Low Trusted Unencoded
5462 {
5463 ParcelData Variable
5464 { ParcelID LLUUID }
5465 { BuyerID LLUUID }
5466 }
5467}
5468
5469// viewer -> sim
5470// mark parcel and double secret agent content on parcel as owned by
5471// governor/maint and adjusts permissions approriately. Godlike request.
5472{
5473 ParcelGodMarkAsContent Low NotTrusted Unencoded
5474 {
5475 AgentData Single
5476 { AgentID LLUUID }
5477 { SessionID LLUUID }
5478 }
5479 {
5480 ParcelData Single
5481 { LocalID S32 }
5482 }
5483}
5484
5485// viewer -> sim
5486{
5487 ParcelGodReserveForNewbie Low NotTrusted Unencoded
5488 {
5489 AgentData Single
5490 { AgentID LLUUID }
5491 { SessionID LLUUID }
5492 }
5493 {
5494 ParcelData Single
5495 { LocalID S32 }
5496 { SnapshotID LLUUID }
5497 }
5498}
5499
5500// viewer -> sim
5501// start an auction. viewer fills in the appropriate date, simulator
5502// validates and fills in the rest of the information to start an auction
5503// on a parcel. Processing currently requires that AgentID is a god.
5504{
5505 ViewerStartAuction Low NotTrusted Unencoded
5506 {
5507 AgentData Single
5508 { AgentID LLUUID }
5509 { SessionID LLUUID }
5510 }
5511 {
5512 ParcelData Single
5513 { LocalID S32 }
5514 { SnapshotID LLUUID }
5515 }
5516}
5517
5518// sim -> dataserver
5519// Once all of the data has been gathered,
5520{
5521 StartAuction Low Trusted Unencoded
5522 {
5523 AgentData Single
5524 { AgentID LLUUID }
5525 }
5526 {
5527 ParcelData Single
5528 { ParcelID LLUUID }
5529 { SnapshotID LLUUID }
5530 { Name Variable 1 } // string
5531 }
5532}
5533
5534// dataserver -> sim
5535{
5536 ConfirmAuctionStart Low Trusted Unencoded
5537 {
5538 AuctionData Single
5539 { ParcelID LLUUID }
5540 { AuctionID U32 }
5541 }
5542}
5543
5544// sim -> dataserver
5545// Tell the dataserver that an auction has completed.
5546{
5547 CompleteAuction Low Trusted Unencoded
5548 {
5549 ParcelData Variable
5550 { ParcelID LLUUID }
5551 }
5552}
5553
5554// Tell the dataserver that an auction has been canceled.
5555{
5556 CancelAuction Low Trusted Unencoded
5557 {
5558 ParcelData Variable
5559 { ParcelID LLUUID }
5560 }
5561}
5562
5563// sim -> dataserver
5564{
5565 CheckParcelAuctions Low Trusted Unencoded
5566 {
5567 RegionData Variable
5568 { RegionHandle U64 }
5569 }
5570}
5571
5572// dataserver -> sim
5573// tell a particular simulator to finish parcel sale.
5574{
5575 ParcelAuctions Low Trusted Unencoded
5576 {
5577 ParcelData Variable
5578 { ParcelID LLUUID }
5579 { WinnerID LLUUID }
5580 }
5581}
5582
5583// ***************************************************************************
5584// UUID to name lookup
5585// ***************************************************************************
5586
5587// UUIDNameRequest
5588// Translate a UUID into first and last names
5589{
5590 UUIDNameRequest Low NotTrusted Unencoded
5591 {
5592 UUIDNameBlock Variable
5593 { ID LLUUID }
5594 }
5595}
5596
5597// UUIDNameReply
5598// Translate a UUID into first and last names
5599{
5600 UUIDNameReply Low Trusted Unencoded
5601 {
5602 UUIDNameBlock Variable
5603 { ID LLUUID }
5604 { FirstName Variable 1 }
5605 { LastName Variable 1 }
5606 }
5607}
5608
5609// UUIDGroupNameRequest
5610// Translate a UUID into a group name
5611{
5612 UUIDGroupNameRequest Low NotTrusted Unencoded
5613 {
5614 UUIDNameBlock Variable
5615 { ID LLUUID }
5616 }
5617}
5618
5619// UUIDGroupNameReply
5620// Translate a UUID into a group name
5621{
5622 UUIDGroupNameReply Low Trusted Unencoded
5623 {
5624 UUIDNameBlock Variable
5625 { ID LLUUID }
5626 { GroupName Variable 1 }
5627 }
5628}
5629
5630// end uuid to name lookup
5631
5632// ***************************************************************************
5633// Simulator to Simulator Messages
5634// ***************************************************************************
5635
5636// ChatPass
5637// Chat message transmission to neighbors
5638// Chat is region local to receiving simulator.
5639// Type is one of CHAT_TYPE_NORMAL, _WHISPER, _SHOUT
5640{
5641 ChatPass Low Trusted Zerocoded
5642 {
5643 ChatData Single
5644 { Channel S32 }
5645 { Position LLVector3 }
5646 { ID LLUUID }
5647 { OwnerID LLUUID }
5648 { Name Variable 1 }
5649 { SourceType U8 }
5650 { Type U8 }
5651 { Radius F32 }
5652 { SimAccess U8 }
5653 { Message Variable 2 }
5654 }
5655}
5656
5657// Edge data - compressed edge data
5658
5659{
5660 EdgeDataPacket High Trusted Zerocoded
5661 {
5662 EdgeData Single
5663 { LayerType U8 }
5664 { Direction U8 }
5665 { LayerData Variable 2 }
5666 }
5667}
5668
5669// Sim status, condition of this sim
5670// sent reliably, when dirty
5671{
5672 SimStatus Medium Trusted Unencoded
5673 {
5674 SimStatus Single
5675 { CanAcceptAgents BOOL }
5676 { CanAcceptTasks BOOL }
5677 }
5678}
5679
5680// Child Agent Update - agents send child agents to neighboring simulators.
5681// This will create a child camera if there isn't one at the target already
5682// Can't send viewer IP and port between simulators -- the port may get remapped
5683// if the viewer is behind a Network Address Translation (NAT) box.
5684//
5685// Note: some of the fields of this message really only need to be sent when an
5686// agent crosses a region boundary and changes from a child to a main agent
5687// (such as Head/BodyRotation, ControlFlags, Animations etc)
5688// simulator -> simulator
5689// reliable
5690{
5691 ChildAgentUpdate High Trusted Zerocoded
5692 {
5693 AgentData Single
5694
5695 { RegionHandle U64 }
5696 { ViewerCircuitCode U32 }
5697 { AgentID LLUUID }
5698 { SessionID LLUUID }
5699
5700 { AgentPos LLVector3 }
5701 { AgentVel LLVector3 }
5702 { Center LLVector3 }
5703 { Size LLVector3 }
5704 { AtAxis LLVector3 }
5705 { LeftAxis LLVector3 }
5706 { UpAxis LLVector3 }
5707 { ChangedGrid BOOL } // BOOL
5708
5709 { Far F32 }
5710 { Aspect F32 }
5711 { Throttles Variable 1 }
5712 { LocomotionState U32 }
5713 { HeadRotation LLQuaternion }
5714 { BodyRotation LLQuaternion }
5715 { ControlFlags U32 }
5716 { EnergyLevel F32 }
5717 { GodLevel U8 } // Changed from BOOL to U8, and renamed GodLevel (from Godlike)
5718 { AlwaysRun BOOL }
5719 { PreyAgent LLUUID }
5720 { AgentAccess U8 }
5721 { AgentTextures Variable 2 }
5722 { ActiveGroupID LLUUID }
5723 }
5724 {
5725 GroupData Variable
5726 { GroupID LLUUID }
5727 { GroupPowers U64 }
5728 { AcceptNotices BOOL }
5729 }
5730 {
5731 AnimationData Variable
5732 { Animation LLUUID }
5733 { ObjectID LLUUID }
5734 }
5735 {
5736 GranterBlock Variable
5737 { GranterID LLUUID }
5738 }
5739 {
5740 NVPairData Variable
5741 { NVPairs Variable 2 }
5742 }
5743 {
5744 VisualParam Variable
5745 { ParamValue U8 }
5746 }
5747}
5748
5749// ChildAgentAlive
5750// sent to child agents just to keep them alive
5751{
5752 ChildAgentAlive High Trusted Unencoded
5753 {
5754 AgentData Single
5755 { RegionHandle U64 }
5756 { ViewerCircuitCode U32 }
5757 { AgentID LLUUID }
5758 { SessionID LLUUID }
5759 }
5760}
5761
5762// ChildAgentPositionUpdate
5763// sent to child agents just to keep them alive
5764{
5765 ChildAgentPositionUpdate High Trusted Unencoded
5766 {
5767 AgentData Single
5768
5769 { RegionHandle U64 }
5770 { ViewerCircuitCode U32 }
5771 { AgentID LLUUID }
5772 { SessionID LLUUID }
5773
5774 { AgentPos LLVector3 }
5775 { AgentVel LLVector3 }
5776 { Center LLVector3 }
5777 { Size LLVector3 }
5778 { AtAxis LLVector3 }
5779 { LeftAxis LLVector3 }
5780 { UpAxis LLVector3 }
5781 { ChangedGrid BOOL }
5782 }
5783}
5784
5785
5786// Obituary for child agents - make sure the parent know the child is dead
5787// This way, children can be reliably restarted
5788{
5789 ChildAgentDying Low Trusted Zerocoded
5790 {
5791 AgentData Single
5792 { AgentID LLUUID }
5793 { SessionID LLUUID }
5794 }
5795}
5796
5797
5798// This is sent if a full child agent hasn't been accepted yet
5799{
5800 ChildAgentUnknown Low Trusted Unencoded
5801 {
5802 AgentData Single
5803 { AgentID LLUUID }
5804 { SessionID LLUUID }
5805 }
5806}
5807
5808// Pass Object Between Simulators
5809//
5810// BUG compress rotation
5811// BUG compress scale
5812{
5813 PassObject High Trusted Zerocoded
5814 {
5815 ObjectData Single
5816 { ID LLUUID }
5817 { ParentID LLUUID }
5818
5819 { CreatorID LLUUID } // permissions
5820 { OwnerID LLUUID } // permissions
5821 { GroupID LLUUID } // permissions
5822 { BaseMask U32 } // permissions
5823 { OwnerMask U32 } // permissions
5824 { GroupMask U32 } // permissions
5825 { EveryoneMask U32 } // permissions
5826 { NextOwnerMask U32 } // permissions
5827 { GroupOwned BOOL } // permissions
5828
5829 { PCode U8 }
5830 { Material U8 }
5831 { State U8 }
5832 { Scale LLVector3 }
5833 { UsePhysics U8 }
5834
5835 { PosX S16 }
5836 { PosY S16 }
5837 { PosZ S16 }
5838
5839 { VelX S16 }
5840 { VelY S16 }
5841 { VelZ S16 }
5842
5843 { Rotation LLQuaternion }
5844
5845 { AngVelX S16 }
5846 { AngVelY S16 }
5847 { AngVelZ S16 }
5848
5849 { PathCurve U8 }
5850 { ProfileCurve U8 }
5851 { PathBegin U8 } // 0 to 1, quanta = 0.01
5852 { PathEnd U8 } // 0 to 1, quanta = 0.01
5853 { PathScaleX U8 } // 0 to 1, quanta = 0.01
5854 { PathScaleY U8 } // 0 to 1, quanta = 0.01
5855 { PathShearX U8 } // -.5 to .5, quanta = 0.01
5856 { PathShearY U8 } // -.5 to .5, quanta = 0.01
5857 { PathTwist S8 } // -1 to 1, quanta = 0.01
5858 { PathTwistBegin S8 } // -1 to 1, quanta = 0.01
5859 { PathRadiusOffset S8 } // -1 to 1, quanta = 0.01
5860 { PathTaperX S8 } // -1 to 1, quanta = 0.01
5861 { PathTaperY S8 } // -1 to 1, quanta = 0.01
5862 { PathRevolutions U8 } // 0 to 3, quanta = 0.015
5863 { PathSkew S8 } // -1 to 1, quanta = 0.01
5864 { ProfileBegin U8 } // 0 to 1, quanta = 0.01
5865 { ProfileEnd U8 } // 0 to 1, quanta = 0.01
5866 { ProfileHollow U8 } // 0 to 1, quanta = 0.01
5867
5868 { TextureEntry Variable 2 }
5869
5870 { SubType S16 }
5871 { Active U8 }
5872
5873 { Data Variable 2 }
5874 }
5875 {
5876 NVPairData Variable
5877 { NVPairs Variable 2 }
5878 }
5879}
5880
5881// This message is sent how objects get passed between regions.
5882{
5883 AtomicPassObject High Trusted Unencoded
5884 {
5885 TaskData Single
5886 { TaskID LLUUID }
5887 { AttachmentNeedsSave BOOL } // true iff is attachment and needs asset saved
5888 }
5889}
5890
5891
5892// KillChildAgents - A new agent has connected to the simulator . . . make sure that any old child cameras are blitzed
5893{
5894 KillChildAgents Low Trusted Unencoded
5895 {
5896 IDBlock Single
5897 { AgentID LLUUID }
5898 }
5899}
5900
5901
5902// GetScriptRunning - asks if a script is running or not. the simulator
5903// responds with ScriptRunningReply
5904{
5905 GetScriptRunning Low NotTrusted Unencoded
5906 {
5907 Script Single
5908 { ObjectID LLUUID }
5909 { ItemID LLUUID }
5910 }
5911}
5912
5913// ScriptRunningReply - response from simulator to message above
5914{
5915 ScriptRunningReply Low NotTrusted Unencoded
5916 {
5917 Script Single
5918 { ObjectID LLUUID }
5919 { ItemID LLUUID }
5920 { Running BOOL }
5921 }
5922}
5923
5924
5925// SetScriptRunning - makes a script active or inactive (Enable may be
5926// true or false)
5927{
5928 SetScriptRunning Low NotTrusted Unencoded
5929 {
5930 AgentData Single
5931 { AgentID LLUUID }
5932 { SessionID LLUUID }
5933 }
5934 {
5935 Script Single
5936 { ObjectID LLUUID }
5937 { ItemID LLUUID }
5938 { Running BOOL }
5939 }
5940}
5941
5942// ScriptReset - causes a script to reset
5943{
5944 ScriptReset Low NotTrusted Unencoded
5945 {
5946 AgentData Single
5947 { AgentID LLUUID }
5948 { SessionID LLUUID }
5949 }
5950 {
5951 Script Single
5952 { ObjectID LLUUID }
5953 { ItemID LLUUID }
5954 }
5955}
5956
5957// ScriptSensorRequest - causes the receiving sim to run a script sensor and return the results
5958{
5959 ScriptSensorRequest Low Trusted Zerocoded
5960 {
5961 Requester Single
5962 { SourceID LLUUID }
5963 { RequestID LLUUID }
5964 { SearchID LLUUID }
5965 { SearchPos LLVector3 }
5966 { SearchDir LLQuaternion }
5967 { SearchName Variable 1 }
5968 { Type S32 }
5969 { Range F32 }
5970 { Arc F32 }
5971 { RegionHandle U64 }
5972 { SearchRegions U8 }
5973 }
5974}
5975
5976// ScriptSensorReply - returns the request script search information back to the requester
5977{
5978 ScriptSensorReply Low Trusted Zerocoded
5979 {
5980 Requester Single
5981 { SourceID LLUUID }
5982 }
5983 {
5984 SensedData Variable
5985 { ObjectID LLUUID }
5986 { OwnerID LLUUID }
5987 { GroupID LLUUID }
5988 { Position LLVector3 }
5989 { Velocity LLVector3 }
5990 { Rotation LLQuaternion }
5991 { Name Variable 1 }
5992 { Type S32 }
5993 { Range F32 }
5994 }
5995}
5996
5997//-----------------------------------------------------------------------------
5998// Login and Agent Motion
5999//-----------------------------------------------------------------------------
6000
6001// viewer -> sim
6002// agent is coming into the region. The region should be expecting the
6003// agent.
6004{
6005 CompleteAgentMovement Low NotTrusted Unencoded
6006 {
6007 AgentData Single
6008 { AgentID LLUUID }
6009 { SessionID LLUUID }
6010 { CircuitCode U32 }
6011 }
6012}
6013
6014// sim -> viewer
6015{
6016 AgentMovementComplete Low NotTrusted Unencoded
6017 {
6018 AgentData Single
6019 { AgentID LLUUID }
6020 { SessionID LLUUID }
6021 }
6022 {
6023 Data Single
6024 { Position LLVector3 }
6025 { LookAt LLVector3 }
6026 { RegionHandle U64 }
6027 { Timestamp U32 }
6028 }
6029}
6030
6031// sim->dataserver
6032// log the fact that the agent has logged in.
6033{
6034 LogLogin Low Trusted Unencoded
6035 {
6036 AgentData Single
6037 { AgentID LLUUID }
6038 { SessionID LLUUID }
6039 }
6040 {
6041 Data Single
6042 { ViewerDigest LLUUID }
6043 { LastExecFroze BOOL }
6044 { SpaceIP IPADDR }
6045 }
6046}
6047
6048// This message is sent from the viewer on login or on demand from the
6049// userserver.
6050// viewer -> userserver
6051{
6052 ConnectAgentToUserserver Low NotTrusted Unencoded
6053 {
6054 AgentData Single
6055 { AgentID LLUUID }
6056 { SessionID LLUUID }
6057 }
6058}
6059
6060// This message is sent from the userserver when it does not have
6061// trusted connection or known agent on the circuit.
6062{
6063 ConnectToUserserver Low Trusted Unencoded
6064}
6065
6066//-----------------------------------------------------------------------------
6067// Logout
6068//-----------------------------------------------------------------------------
6069
6070// userserver -> dataserver
6071{
6072 DataServerLogout Low Trusted Unencoded
6073 {
6074 UserData Single
6075 { AgentID LLUUID }
6076 { ViewerIP IPADDR }
6077 { Disconnect BOOL }
6078 { SessionID LLUUID }
6079 }
6080}
6081
6082// LogoutRequest
6083// viewer -> sim
6084// reliable
6085{
6086 LogoutRequest Low NotTrusted Unencoded
6087 {
6088 AgentData Single
6089 { AgentID LLUUID }
6090 { SessionID LLUUID }
6091 }
6092}
6093
6094// FinalizeLogout
6095// Callback for when sim is done uploading assets to asset server
6096// viewer -> sim
6097// reliable
6098{
6099 FinalizeLogout Low NotTrusted Unencoded
6100 {
6101 AgentData Single
6102 { AgentID LLUUID }
6103 { SessionID LLUUID }
6104 }
6105}
6106
6107// LogoutReply
6108// it's ok for the viewer to quit.
6109// sim -> viewer
6110// reliable
6111// Includes inventory items to update with new asset ids
6112{
6113 LogoutReply Low Trusted Zerocoded
6114 {
6115 AgentData Single
6116 { AgentID LLUUID }
6117 { SessionID LLUUID }
6118 }
6119 {
6120 InventoryData Variable
6121 { ItemID LLUUID } // null if list is actually empty (but has one entry 'cause it can't have none)
6122 }
6123}
6124
6125
6126
6127// LogoutDemand
6128{
6129 LogoutDemand Low Trusted Unencoded
6130 {
6131 LogoutBlock Single
6132 { SessionID LLUUID }
6133 }
6134}
6135
6136//-----------------------------------------------------------------------------
6137// Instant Message
6138//-----------------------------------------------------------------------------
6139
6140// ImprovedInstantMessage
6141// This message can potentially route all over the place
6142// ParentEstateID: parent estate id of the source estate
6143// RegionID: region id of the source of the IM.
6144// Position: position of the sender in region local coordinates
6145// Dialog see llinstantmessage.h for values
6146// ID May be used by dialog. Interpretation depends on context.
6147// BinaryBucket May be used by some dialog types
6148// reliable
6149{
6150 ImprovedInstantMessage Low NotTrusted Zerocoded
6151 {
6152 AgentData Single
6153 { AgentID LLUUID }
6154 { SessionID LLUUID }
6155 }
6156 {
6157 MessageBlock Single
6158 { FromGroup BOOL }
6159 { ToAgentID LLUUID }
6160 { ParentEstateID U32 }
6161 { RegionID LLUUID }
6162 { Position LLVector3 }
6163 { Offline U8 }
6164 { Dialog U8 } // U8 - IM type
6165 { ID LLUUID }
6166 { Timestamp U32 }
6167 { FromAgentName Variable 1 }
6168 { Message Variable 2 }
6169 { BinaryBucket Variable 2 }
6170 }
6171}
6172
6173// RetrieveInstantMessages - used to get instant messages that
6174// were persisted out to the database while the user was offline
6175{
6176 RetrieveInstantMessages Low NotTrusted Unencoded
6177 {
6178 AgentData Single
6179 { AgentID LLUUID }
6180 { SessionID LLUUID }
6181 }
6182}
6183
6184// DequeueInstantMessages - used to get messages out of the IM
6185// queue that have come from outside of the system.
6186{
6187 DequeueInstantMessages Low Trusted Unencoded
6188}
6189
6190// FindAgent - used to find an agent's global position. I used a
6191// variable sized LocationBlock so that the message can be recycled with
6192// minimum new messages and handlers.
6193{
6194 FindAgent Low NotTrusted Unencoded
6195 {
6196 AgentBlock Single
6197 { Hunter LLUUID }
6198 { Prey LLUUID }
6199 { SpaceIP IPADDR }
6200 }
6201 {
6202 LocationBlock Variable
6203 { GlobalX F64 }
6204 { GlobalY F64 }
6205 }
6206}
6207
6208// Set godlike to 1 if you want to become godlike.
6209// Set godlike to 0 if you want to relinquish god powers.
6210// viewer -> simulator -> dataserver
6211// reliable
6212{
6213 RequestGodlikePowers Low NotTrusted Unencoded
6214 {
6215 AgentData Single
6216 { AgentID LLUUID }
6217 { SessionID LLUUID }
6218 }
6219 {
6220 RequestBlock Single
6221 { Godlike BOOL }
6222 { Token LLUUID } // viewer packs a null, sim packs token
6223 }
6224}
6225
6226// At the simulator, turn the godlike bit on.
6227// At the viewer, show the god menu.
6228// dataserver -> simulator -> viewer
6229// reliable
6230{
6231 GrantGodlikePowers Low Trusted Unencoded
6232 {
6233 AgentData Single
6234 { AgentID LLUUID }
6235 { SessionID LLUUID }
6236 }
6237 {
6238 GrantData Single
6239 { GodLevel U8 }
6240 { Token LLUUID } // checked on sim, ignored on viewer
6241 }
6242}
6243
6244// GodlikeMessage - generalized construct for Gods to send messages
6245// around the system. Each Request has it's own internal protocol.
6246{
6247 GodlikeMessage Low NotTrusted Zerocoded
6248 {
6249 AgentData Single
6250 { AgentID LLUUID }
6251 { SessionID LLUUID }
6252 { TransactionID LLUUID }
6253 }
6254 {
6255 MethodData Single
6256 { Method Variable 1 }
6257 { Invoice LLUUID }
6258 }
6259 {
6260 ParamList Variable
6261 { Parameter Variable 1 }
6262 }
6263}
6264
6265// EstateOwnerMessage
6266// format must be identical to above
6267{
6268 EstateOwnerMessage Low NotTrusted Zerocoded
6269 {
6270 AgentData Single
6271 { AgentID LLUUID }
6272 { SessionID LLUUID }
6273 { TransactionID LLUUID }
6274 }
6275 {
6276 MethodData Single
6277 { Method Variable 1 }
6278 { Invoice LLUUID }
6279 }
6280 {
6281 ParamList Variable
6282 { Parameter Variable 1 }
6283 }
6284}
6285
6286// GenericMessage
6287// format must be identical to above
6288// As above, but don't have to be god or estate owner to send.
6289{
6290 GenericMessage Low NotTrusted Zerocoded
6291 {
6292 AgentData Single
6293 { AgentID LLUUID }
6294 { SessionID LLUUID }
6295 { TransactionID LLUUID }
6296 }
6297 {
6298 MethodData Single
6299 { Method Variable 1 }
6300 { Invoice LLUUID }
6301 }
6302 {
6303 ParamList Variable
6304 { Parameter Variable 1 }
6305 }
6306}
6307
6308// ***************************************************************************
6309// Requests for possessions, acquisition, money, etc
6310// ***************************************************************************
6311
6312// request for mute list
6313{
6314 MuteListRequest Low NotTrusted Unencoded
6315 {
6316 AgentData Single
6317 { AgentID LLUUID }
6318 { SessionID LLUUID }
6319 }
6320 {
6321 MuteData Single
6322 { MuteCRC U32 }
6323 }
6324}
6325
6326// update/add someone in the mute list
6327{
6328 UpdateMuteListEntry Low NotTrusted Unencoded
6329 {
6330 AgentData Single
6331 { AgentID LLUUID }
6332 { SessionID LLUUID }
6333 }
6334 {
6335 MuteData Single
6336 { MuteID LLUUID }
6337 { MuteName Variable 1 }
6338 { MuteType S32 }
6339 { MuteFlags U32 }
6340 }
6341}
6342
6343// Remove a mute list entry.
6344{
6345 RemoveMuteListEntry Low NotTrusted Unencoded
6346 {
6347 AgentData Single
6348 { AgentID LLUUID }
6349 { SessionID LLUUID }
6350 }
6351 {
6352 MuteData Single
6353 { MuteID LLUUID }
6354 { MuteName Variable 1 }
6355 }
6356}
6357
6358
6359//
6360// Inventory update messages
6361//
6362
6363{
6364 CopyInventoryFromNotecard Low NotTrusted Zerocoded
6365 {
6366 AgentData Single
6367 { AgentID LLUUID }
6368 { SessionID LLUUID }
6369 }
6370 {
6371 NotecardData Single
6372 { NotecardItemID LLUUID }
6373 { ObjectID LLUUID }
6374 }
6375 {
6376 InventoryData Variable
6377 { ItemID LLUUID }
6378 { FolderID LLUUID }
6379 }
6380}
6381
6382//
6383// This is used bi-directionally between sim, dataserver, and viewer.
6384// THIS MESSAGE CAN NOT CREATE NEW INVENTORY ITEMS.
6385//
6386{
6387 UpdateInventoryItem Low NotTrusted Zerocoded
6388 {
6389 AgentData Single
6390 { AgentID LLUUID }
6391 { SessionID LLUUID }
6392 }
6393 {
6394 InventoryData Variable
6395 { ItemID LLUUID }
6396 { FolderID LLUUID }
6397 { CallbackID U32 } // Async Response
6398
6399 { CreatorID LLUUID } // permissions
6400 { OwnerID LLUUID } // permissions
6401 { GroupID LLUUID } // permissions
6402 { BaseMask U32 } // permissions
6403 { OwnerMask U32 } // permissions
6404 { GroupMask U32 } // permissions
6405 { EveryoneMask U32 } // permissions
6406 { NextOwnerMask U32 } // permissions
6407 { GroupOwned BOOL } // permissions
6408
6409 { TransactionID LLUUID } // TransactionID: new assets only
6410 { Type S8 }
6411 { InvType S8 }
6412 { Flags U32 }
6413 { SaleType U8 }
6414 { SalePrice S32 }
6415 { Name Variable 1 }
6416 { Description Variable 1 }
6417 { CreationDate S32 }
6418 { CRC U32 }
6419 }
6420}
6421
6422//
6423// For sim to request update/create.
6424// DO NOT ALLOW THIS FROM THE VIEWER.
6425//
6426{
6427 UpdateCreateInventoryItem Low Trusted Zerocoded
6428 {
6429 AgentData Single
6430 { AgentID LLUUID }
6431 { SimApproved BOOL }
6432 }
6433 {
6434 InventoryData Variable
6435 { ItemID LLUUID }
6436 { FolderID LLUUID }
6437 { CallbackID U32 } // Async Response
6438
6439 { CreatorID LLUUID } // permissions
6440 { OwnerID LLUUID } // permissions
6441 { GroupID LLUUID } // permissions
6442 { BaseMask U32 } // permissions
6443 { OwnerMask U32 } // permissions
6444 { GroupMask U32 } // permissions
6445 { EveryoneMask U32 } // permissions
6446 { NextOwnerMask U32 } // permissions
6447 { GroupOwned BOOL } // permissions
6448
6449 { AssetID LLUUID }
6450 { Type S8 }
6451 { InvType S8 }
6452 { Flags U32 }
6453 { SaleType U8 }
6454 { SalePrice S32 }
6455 { Name Variable 1 }
6456 { Description Variable 1 }
6457 { CreationDate S32 }
6458 { CRC U32 }
6459 }
6460}
6461
6462{
6463 MoveInventoryItem Low NotTrusted Zerocoded
6464 {
6465 AgentData Single
6466 { AgentID LLUUID }
6467 { SessionID LLUUID }
6468 { Stamp BOOL } // should the server re-timestamp?
6469 }
6470 {
6471 InventoryData Variable
6472 { ItemID LLUUID }
6473 { FolderID LLUUID }
6474 { NewName Variable 1 }
6475 }
6476}
6477
6478// copy inventory item by item id to specified destination folder,
6479// send out bulk inventory update when done.
6480//
6481// Inventory items are only unique for {agent, inv_id} pairs;
6482// the OldItemID needs to be paired with the OldAgentID to
6483// produce a unique inventory item.
6484{
6485 CopyInventoryItem Low NotTrusted Zerocoded
6486 {
6487 AgentData Single
6488 { AgentID LLUUID }
6489 { SessionID LLUUID }
6490 }
6491 {
6492 InventoryData Variable
6493 { CallbackID U32 } // Async response
6494 { OldAgentID LLUUID }
6495 { OldItemID LLUUID }
6496 { NewFolderID LLUUID }
6497 { NewName Variable 1 }
6498 }
6499}
6500
6501{
6502 RemoveInventoryItem Low NotTrusted Unencoded
6503 {
6504 AgentData Single
6505 { AgentID LLUUID }
6506 { SessionID LLUUID }
6507 }
6508 {
6509 InventoryData Variable
6510 { ItemID LLUUID }
6511 }
6512}
6513
6514{
6515 ChangeInventoryItemFlags Low NotTrusted Unencoded
6516 {
6517 AgentData Single
6518 { AgentID LLUUID }
6519 { SessionID LLUUID }
6520 }
6521 {
6522 InventoryData Variable
6523 { ItemID LLUUID }
6524 { Flags U32 }
6525 }
6526}
6527
6528//
6529// Sim outgoing only (to dataserver, to viewer)
6530// NOT viewer to sim, sim should not have handler, ever
6531// This message is currently only uses objects, so the viewer ignores
6532// the asset id.
6533{
6534 SaveAssetIntoInventory Low Trusted Unencoded
6535 {
6536 AgentData Single
6537 { AgentID LLUUID }
6538 }
6539 {
6540 InventoryData Single
6541 { ItemID LLUUID }
6542 { NewAssetID LLUUID }
6543 }
6544}
6545
6546{
6547 CreateInventoryFolder Low NotTrusted Unencoded
6548 {
6549 AgentData Single
6550 { AgentID LLUUID }
6551 { SessionID LLUUID }
6552 }
6553 {
6554 FolderData Single
6555 { FolderID LLUUID }
6556 { ParentID LLUUID }
6557 { Type S8 }
6558 { Name Variable 1 }
6559 }
6560}
6561
6562{
6563 UpdateInventoryFolder Low NotTrusted Unencoded
6564 {
6565 AgentData Single
6566 { AgentID LLUUID }
6567 { SessionID LLUUID }
6568 }
6569 {
6570 FolderData Variable
6571 { FolderID LLUUID }
6572 { ParentID LLUUID }
6573 { Type S8 }
6574 { Name Variable 1 }
6575 }
6576}
6577
6578{
6579 MoveInventoryFolder Low NotTrusted Zerocoded
6580 {
6581 AgentData Single
6582 { AgentID LLUUID }
6583 { SessionID LLUUID }
6584 { Stamp BOOL } // should the server re-timestamp children
6585 }
6586 {
6587 InventoryData Variable
6588 { FolderID LLUUID }
6589 { ParentID LLUUID }
6590 }
6591}
6592
6593{
6594 RemoveInventoryFolder Low NotTrusted Unencoded
6595 {
6596 AgentData Single
6597 { AgentID LLUUID }
6598 { SessionID LLUUID }
6599 }
6600 {
6601 FolderData Variable
6602 { FolderID LLUUID }
6603 }
6604}
6605
6606// Get inventory segment.
6607{
6608 FetchInventoryDescendents Low NotTrusted Zerocoded
6609 {
6610 AgentData Single
6611 { AgentID LLUUID }
6612 { SessionID LLUUID }
6613 }
6614 {
6615 InventoryData Single
6616 { FolderID LLUUID }
6617 { OwnerID LLUUID }
6618 { SortOrder S32 } // 0 = name, 1 = time
6619 { FetchFolders BOOL } // false will omit folders in query
6620 { FetchItems BOOL } // false will omit items in query
6621 }
6622}
6623
6624// return inventory segment.
6625// *NOTE: This could be compressed more since we already know the
6626// parent_id for folders and the folder_id for items, but this is
6627// reasonable until we heve server side inventory.
6628{
6629 InventoryDescendents Low Trusted Zerocoded
6630 {
6631 AgentData Single
6632 { AgentID LLUUID }
6633 { FolderID LLUUID }
6634 { OwnerID LLUUID } // owner of the folders creatd.
6635 { Version S32 } // version of the folder for caching
6636 { Descendents S32 } // count to help with caching
6637 }
6638 {
6639 FolderData Variable
6640 { FolderID LLUUID }
6641 { ParentID LLUUID }
6642 { Type S8 }
6643 { Name Variable 1 }
6644 }
6645 {
6646 ItemData Variable
6647 { ItemID LLUUID }
6648 { FolderID LLUUID }
6649 { CreatorID LLUUID } // permissions
6650 { OwnerID LLUUID } // permissions
6651 { GroupID LLUUID } // permissions
6652 { BaseMask U32 } // permissions
6653 { OwnerMask U32 } // permissions
6654 { GroupMask U32 } // permissions
6655 { EveryoneMask U32 } // permissions
6656 { NextOwnerMask U32 } // permissions
6657 { GroupOwned BOOL } // permissions
6658 { AssetID LLUUID }
6659 { Type S8 }
6660 { InvType S8 }
6661 { Flags U32 }
6662 { SaleType U8 }
6663 { SalePrice S32 }
6664 { Name Variable 1 }
6665 { Description Variable 1 }
6666 { CreationDate S32 }
6667 { CRC U32 }
6668 }
6669}
6670
6671// Get inventory item(s) - response comes through FetchInventoryReply
6672{
6673 FetchInventory Low NotTrusted Zerocoded
6674 {
6675 AgentData Single
6676 { AgentID LLUUID }
6677 { SessionID LLUUID }
6678 }
6679 {
6680 InventoryData Variable
6681 { OwnerID LLUUID }
6682 { ItemID LLUUID }
6683 }
6684}
6685
6686// response to fetch inventory
6687{
6688 FetchInventoryReply Low Trusted Zerocoded
6689 {
6690 AgentData Single
6691 { AgentID LLUUID }
6692 }
6693 {
6694 InventoryData Variable
6695 { ItemID LLUUID }
6696 { FolderID LLUUID }
6697
6698 { CreatorID LLUUID } // permissions
6699 { OwnerID LLUUID } // permissions
6700 { GroupID LLUUID } // permissions
6701 { BaseMask U32 } // permissions
6702 { OwnerMask U32 } // permissions
6703 { GroupMask U32 } // permissions
6704 { EveryoneMask U32 } // permissions
6705 { NextOwnerMask U32 } // permissions
6706 { GroupOwned BOOL } // permissions
6707
6708 { AssetID LLUUID }
6709 { Type S8 }
6710 { InvType S8 }
6711 { Flags U32 }
6712 { SaleType U8 }
6713 { SalePrice S32 }
6714 { Name Variable 1 }
6715 { Description Variable 1 }
6716 { CreationDate S32 }
6717 { CRC U32 }
6718 }
6719}
6720
6721// Can only fit around 7 items per packet - that's the way it goes. At
6722// least many bulk updates can be packed.
6723// Only from dataserver->sim->viewer
6724{
6725 BulkUpdateInventory Low Trusted Zerocoded
6726 {
6727 AgentData Single
6728 { AgentID LLUUID }
6729 { TransactionID LLUUID }
6730 }
6731 {
6732 FolderData Variable
6733 { FolderID LLUUID }
6734 { ParentID LLUUID }
6735 { Type S8 }
6736 { Name Variable 1 }
6737 }
6738 {
6739 ItemData Variable
6740 { ItemID LLUUID }
6741 { CallbackID U32 } // Async Response
6742 { FolderID LLUUID }
6743 { CreatorID LLUUID } // permissions
6744 { OwnerID LLUUID } // permissions
6745 { GroupID LLUUID } // permissions
6746 { BaseMask U32 } // permissions
6747 { OwnerMask U32 } // permissions
6748 { GroupMask U32 } // permissions
6749 { EveryoneMask U32 } // permissions
6750 { NextOwnerMask U32 } // permissions
6751 { GroupOwned BOOL } // permissions
6752 { AssetID LLUUID }
6753 { Type S8 }
6754 { InvType S8 }
6755 { Flags U32 }
6756 { SaleType U8 }
6757 { SalePrice S32 }
6758 { Name Variable 1 }
6759 { Description Variable 1 }
6760 { CreationDate S32 }
6761 { CRC U32 }
6762 }
6763}
6764
6765
6766
6767// request permissions for agent id to get the asset for owner_id's
6768// item_id.
6769{
6770 RequestInventoryAsset Low Trusted Unencoded
6771 {
6772 QueryData Single
6773 { QueryID LLUUID }
6774 { AgentID LLUUID }
6775 { OwnerID LLUUID }
6776 { ItemID LLUUID }
6777 }
6778}
6779
6780// response to RequestInventoryAsset
6781// lluuid will be null if agentid in the request above cannot read asset
6782{
6783 InventoryAssetResponse Low Trusted Unencoded
6784 {
6785 QueryData Single
6786 { QueryID LLUUID }
6787 { AssetID LLUUID }
6788 { IsReadable BOOL }
6789 }
6790}
6791
6792// This is the new improved way to remove inventory items. It is
6793// currently only supported in viewer->userserver->dataserver
6794// messages typically initiated by an empty trash method.
6795{
6796 RemoveInventoryObjects Low NotTrusted Unencoded
6797 {
6798 AgentData Single
6799 { AgentID LLUUID }
6800 { SessionID LLUUID }
6801 }
6802 {
6803 FolderData Variable
6804 { FolderID LLUUID }
6805 }
6806 {
6807 ItemData Variable
6808 { ItemID LLUUID }
6809 }
6810}
6811
6812// This is how you remove inventory when you're not even sure what it
6813// is - only it's parenting.
6814{
6815 PurgeInventoryDescendents Low NotTrusted Zerocoded
6816 {
6817 AgentData Single
6818 { AgentID LLUUID }
6819 { SessionID LLUUID }
6820 }
6821 {
6822 InventoryData Single
6823 { FolderID LLUUID }
6824 }
6825}
6826
6827// These messages are viewer->simulator requests to update a task's
6828// inventory.
6829// if Key == 0, itemid is the key. if Key == 1, assetid is the key.
6830{
6831 UpdateTaskInventory Low NotTrusted Zerocoded
6832 {
6833 AgentData Single
6834 { AgentID LLUUID }
6835 { SessionID LLUUID }
6836 }
6837 {
6838 UpdateData Single
6839 { LocalID U32 }
6840 { Key U8 }
6841 }
6842 {
6843 InventoryData Single
6844 { ItemID LLUUID }
6845 { FolderID LLUUID }
6846 { CreatorID LLUUID } // permissions
6847 { OwnerID LLUUID } // permissions
6848 { GroupID LLUUID } // permissions
6849 { BaseMask U32 } // permissions
6850 { OwnerMask U32 } // permissions
6851 { GroupMask U32 } // permissions
6852 { EveryoneMask U32 } // permissions
6853 { NextOwnerMask U32 } // permissions
6854 { GroupOwned BOOL } // permissions
6855 { TransactionID LLUUID }
6856 { Type S8 }
6857 { InvType S8 }
6858 { Flags U32 }
6859 { SaleType U8 }
6860 { SalePrice S32 }
6861 { Name Variable 1 }
6862 { Description Variable 1 }
6863 { CreationDate S32 }
6864 { CRC U32 }
6865 }
6866}
6867
6868{
6869 RemoveTaskInventory Low NotTrusted Zerocoded
6870 {
6871 AgentData Single
6872 { AgentID LLUUID }
6873 { SessionID LLUUID }
6874 }
6875 {
6876 InventoryData Single
6877 { LocalID U32 }
6878 { ItemID LLUUID }
6879 }
6880}
6881
6882{
6883 MoveTaskInventory Low NotTrusted Unencoded
6884 {
6885 AgentData Single
6886 { AgentID LLUUID }
6887 { SessionID LLUUID }
6888 { FolderID LLUUID }
6889 }
6890 {
6891 InventoryData Single
6892 { LocalID U32 }
6893 { ItemID LLUUID }
6894 }
6895}
6896
6897{
6898 RequestTaskInventory Low NotTrusted Unencoded
6899 {
6900 AgentData Single
6901 { AgentID LLUUID }
6902 { SessionID LLUUID }
6903 }
6904 {
6905 InventoryData Single
6906 { LocalID U32 }
6907 }
6908}
6909
6910{
6911 ReplyTaskInventory Low Trusted Zerocoded
6912 {
6913 InventoryData Single
6914 { TaskID LLUUID }
6915 { Serial S16 } // S16
6916 { Filename Variable 1 }
6917 }
6918}
6919
6920// These messages are viewer->simulator requests regarding objects
6921// which are currently being simulated. The viewer will get an
6922// UpdateInventoryItem response if a DeRez succeeds, and the object
6923// will appear if a RezObject succeeds.
6924// The Destination field tells where the derez should wind up, and the
6925// meaning of DestinationID depends on it. For example, if the
6926// destination is a category, then the destination is the category id. If
6927// the destination is a task inventory, then the destination id is the
6928// task id.
6929// The transaction id is generated by the viewer on derez, and then
6930// the packets are counted and numbered. The rest of the information is
6931// just duplicated (it's not that much, and derezzes that span multiple
6932// packets will be rare.)
6933{
6934 DeRezObject Low NotTrusted Zerocoded
6935 {
6936 AgentData Single
6937 { AgentID LLUUID }
6938 { SessionID LLUUID }
6939 }
6940 {
6941 AgentBlock Single
6942 { GroupID LLUUID }
6943 { Destination U8 }
6944 { DestinationID LLUUID } // see above
6945 { TransactionID LLUUID }
6946 { PacketCount U8 }
6947 { PacketNumber U8 }
6948 }
6949 {
6950 ObjectData Variable
6951 { ObjectLocalID U32 } // object id in world
6952 }
6953}
6954
6955// This message is sent when a derez succeeds, but there's no way to
6956// know, since no inventory is created on the viewer. For example, when
6957// saving into task inventory.
6958{
6959 DeRezAck Low Trusted Unencoded
6960}
6961
6962// This message is sent from viewer -> simulator when the viewer wants
6963// to rez an object out of inventory.
6964{
6965 RezObject Low NotTrusted Zerocoded
6966 {
6967 AgentData Single
6968 { AgentID LLUUID }
6969 { SessionID LLUUID }
6970 { GroupID LLUUID }
6971 }
6972 {
6973 RezData Single
6974 { FromTaskID LLUUID }
6975 { BypassRaycast U8 }
6976 { RayStart LLVector3 }
6977 { RayEnd LLVector3 }
6978 { RayTargetID LLUUID }
6979 { RayEndIsIntersection BOOL }
6980 { RezSelected BOOL }
6981 { RemoveItem BOOL }
6982 { ItemFlags U32 }
6983 { GroupMask U32 }
6984 { EveryoneMask U32 }
6985 { NextOwnerMask U32 }
6986 }
6987 {
6988 InventoryData Single
6989 { ItemID LLUUID }
6990 { FolderID LLUUID }
6991 { CreatorID LLUUID } // permissions
6992 { OwnerID LLUUID } // permissions
6993 { GroupID LLUUID } // permissions
6994 { BaseMask U32 } // permissions
6995 { OwnerMask U32 } // permissions
6996 { GroupMask U32 } // permissions
6997 { EveryoneMask U32 } // permissions
6998 { NextOwnerMask U32 } // permissions
6999 { GroupOwned BOOL } // permissions
7000 { TransactionID LLUUID }
7001 { Type S8 }
7002 { InvType S8 }
7003 { Flags U32 }
7004 { SaleType U8 }
7005 { SalePrice S32 }
7006 { Name Variable 1 }
7007 { Description Variable 1 }
7008 { CreationDate S32 }
7009 { CRC U32 }
7010 }
7011}
7012
7013// This message is sent from viewer -> simulator when the viewer wants
7014// to rez an object from a notecard.
7015{
7016 RezObjectFromNotecard Low NotTrusted Zerocoded
7017 {
7018 AgentData Single
7019 { AgentID LLUUID }
7020 { SessionID LLUUID }
7021 { GroupID LLUUID }
7022 }
7023 {
7024 RezData Single
7025 { FromTaskID LLUUID }
7026 { BypassRaycast U8 }
7027 { RayStart LLVector3 }
7028 { RayEnd LLVector3 }
7029 { RayTargetID LLUUID }
7030 { RayEndIsIntersection BOOL }
7031 { RezSelected BOOL }
7032 { RemoveItem BOOL }
7033 { ItemFlags U32 }
7034 { GroupMask U32 }
7035 { EveryoneMask U32 }
7036 { NextOwnerMask U32 }
7037 }
7038 {
7039 NotecardData Single
7040 { NotecardItemID LLUUID }
7041 { ObjectID LLUUID }
7042 }
7043 {
7044 InventoryData Variable
7045 { ItemID LLUUID }
7046 }
7047}
7048
7049// if declined, the destid agent from the GiveInventory message
7050// responds with this message to the userserver
7051{
7052 DeclineInventory Low NotTrusted Unencoded
7053 {
7054 InfoBlock Single
7055 { TransactionID LLUUID }
7056 }
7057}
7058
7059// sim -> dataserver
7060// sent during agent to agent inventory transfers
7061{
7062 TransferInventory Low Trusted Zerocoded
7063 {
7064 InfoBlock Single
7065 { SourceID LLUUID }
7066 { DestID LLUUID }
7067 { TransactionID LLUUID }
7068 }
7069 {
7070 InventoryBlock Variable
7071 { InventoryID LLUUID }
7072 { Type S8 }
7073 }
7074}
7075
7076// dataserver -> sim
7077// InventoryID is the id of the inventory object that the end user
7078// should discard if they deny the transfer.
7079{
7080 TransferInventoryAck Low Trusted Zerocoded
7081 {
7082 InfoBlock Single
7083 { TransactionID LLUUID }
7084 { InventoryID LLUUID }
7085 }
7086}
7087
7088// Relationships - the start will be a request from sourceid to dest
7089// id when they are located near each other.
7090{
7091 RequestFriendship Low NotTrusted Unencoded
7092 {
7093 AgentData Single
7094 { AgentID LLUUID }
7095 { SessionID LLUUID }
7096 }
7097 {
7098 AgentBlock Single
7099 { FolderID LLUUID } // source ID's calling card folder
7100 { DestID LLUUID }
7101 { TransactionID LLUUID }
7102 }
7103}
7104
7105{
7106 AcceptFriendship Low NotTrusted Unencoded
7107 {
7108 AgentData Single
7109 { AgentID LLUUID }
7110 { SessionID LLUUID }
7111 }
7112 {
7113 TransactionBlock Single
7114 { TransactionID LLUUID }
7115 }
7116 {
7117 FolderData Variable
7118 { FolderID LLUUID } // place to put calling card.
7119 }
7120}
7121
7122{
7123 DeclineFriendship Low NotTrusted Unencoded
7124 {
7125 AgentData Single
7126 { AgentID LLUUID }
7127 { SessionID LLUUID }
7128 }
7129 {
7130 TransactionBlock Single
7131 { TransactionID LLUUID }
7132 }
7133}
7134
7135{
7136 FormFriendship Low Trusted Unencoded
7137 {
7138 AgentBlock Single
7139 { SourceID LLUUID }
7140 { DestID LLUUID }
7141 }
7142}
7143
7144// Cancels user relationship
7145// Updates inventory for both users.
7146// Stops agent tracking in userserver.
7147// viewer -> userserver -> dataserver
7148// reliable
7149{
7150 TerminateFriendship Low NotTrusted Unencoded
7151 {
7152 AgentData Single
7153 { AgentID LLUUID }
7154 { SessionID LLUUID }
7155 }
7156 {
7157 ExBlock Single
7158 { OtherID LLUUID }
7159 }
7160}
7161
7162// used to give someone a calling card.
7163{
7164 OfferCallingCard Low NotTrusted Unencoded
7165 {
7166 AgentData Single
7167 { AgentID LLUUID }
7168 { SessionID LLUUID }
7169 }
7170 {
7171 AgentBlock Single
7172 { DestID LLUUID }
7173 { TransactionID LLUUID }
7174 }
7175}
7176
7177{
7178 AcceptCallingCard Low NotTrusted Unencoded
7179 {
7180 AgentData Single
7181 { AgentID LLUUID }
7182 { SessionID LLUUID }
7183 }
7184 {
7185 TransactionBlock Single
7186 { TransactionID LLUUID }
7187 }
7188 {
7189 FolderData Variable
7190 { FolderID LLUUID } // place to put calling card.
7191 }
7192}
7193
7194{
7195 DeclineCallingCard Low NotTrusted Unencoded
7196 {
7197 AgentData Single
7198 { AgentID LLUUID }
7199 { SessionID LLUUID }
7200 }
7201 {
7202 TransactionBlock Single
7203 { TransactionID LLUUID }
7204 }
7205}
7206
7207
7208// Rez a script onto an object
7209{
7210 RezScript Low NotTrusted Zerocoded
7211 {
7212 AgentData Single
7213 { AgentID LLUUID }
7214 { SessionID LLUUID }
7215 { GroupID LLUUID }
7216 }
7217 {
7218 UpdateBlock Single
7219 { ObjectLocalID U32 } // object id in world
7220 { Enabled BOOL } // is script rezzed in enabled?
7221 }
7222 {
7223 InventoryBlock Single
7224 { ItemID LLUUID }
7225 { FolderID LLUUID }
7226 { CreatorID LLUUID } // permissions
7227 { OwnerID LLUUID } // permissions
7228 { GroupID LLUUID } // permissions
7229 { BaseMask U32 } // permissions
7230 { OwnerMask U32 } // permissions
7231 { GroupMask U32 } // permissions
7232 { EveryoneMask U32 } // permissions
7233 { NextOwnerMask U32 } // permissions
7234 { GroupOwned BOOL } // permissions
7235 { TransactionID LLUUID }
7236 { Type S8 }
7237 { InvType S8 }
7238 { Flags U32 }
7239 { SaleType U8 }
7240 { SalePrice S32 }
7241 { Name Variable 1 }
7242 { Description Variable 1 }
7243 { CreationDate S32 }
7244 { CRC U32 }
7245 }
7246}
7247
7248// Create inventory
7249{
7250 CreateInventoryItem Low NotTrusted Zerocoded
7251 {
7252 AgentData Single
7253 { AgentID LLUUID }
7254 { SessionID LLUUID }
7255 }
7256 {
7257 InventoryBlock Single
7258 { CallbackID U32 } // Async Response
7259 { FolderID LLUUID }
7260 { TransactionID LLUUID } // Going to become TransactionID
7261 { NextOwnerMask U32 }
7262 { Type S8 }
7263 { InvType S8 }
7264 { WearableType U8 }
7265 { Name Variable 1 }
7266 { Description Variable 1 }
7267 }
7268}
7269
7270// give agent a landmark for an event.
7271{
7272 CreateLandmarkForEvent Low NotTrusted Zerocoded
7273 {
7274 AgentData Single
7275 { AgentID LLUUID }
7276 { SessionID LLUUID }
7277 }
7278 {
7279 EventData Single
7280 { EventID U32 }
7281 }
7282 {
7283 InventoryBlock Single
7284 { FolderID LLUUID }
7285 { Name Variable 1 }
7286 }
7287}
7288
7289{
7290 EventLocationRequest Low Trusted Zerocoded
7291 {
7292 QueryData Single
7293 { QueryID LLUUID }
7294 }
7295 {
7296 EventData Single
7297 { EventID U32 }
7298 }
7299}
7300
7301{
7302 EventLocationReply Low Trusted Zerocoded
7303 {
7304 QueryData Single
7305 { QueryID LLUUID }
7306 }
7307 {
7308 EventData Single
7309 { Success BOOL }
7310 { RegionID LLUUID }
7311 { RegionPos LLVector3 }
7312 }
7313}
7314
7315// get information about landmarks. Used by viewers for determining
7316// the location of a landmark, and by simulators for teleport
7317{
7318 RegionHandleRequest Low NotTrusted Unencoded
7319 {
7320 RequestBlock Single
7321 { RegionID LLUUID }
7322 }
7323}
7324
7325{
7326 RegionIDAndHandleReply Low Trusted Unencoded
7327 {
7328 ReplyBlock Single
7329 { RegionID LLUUID }
7330 { RegionHandle U64 }
7331 }
7332}
7333
7334// Move money from one agent to another. Validation will happen at the
7335// simulator, the dataserver will actually do the work. Dataserver
7336// generates a MoneyBalance message in reply. The simulator
7337// will generate a MoneyTransferBackend in response to this.
7338// viewer -> simulator -> dataserver
7339{
7340 MoneyTransferRequest Low NotTrusted Zerocoded
7341 {
7342 AgentData Single
7343 { AgentID LLUUID }
7344 { SessionID LLUUID }
7345 }
7346 {
7347 MoneyData Single
7348 { SourceID LLUUID }
7349 { DestID LLUUID } // destination of the transfer
7350 { Flags U8 }
7351 { Amount S32 }
7352 { AggregatePermNextOwner U8 }
7353 { AggregatePermInventory U8 }
7354 { TransactionType S32 } // see lltransactiontypes.h
7355 { Description Variable 1 } // string, name of item for purchases
7356 }
7357}
7358
7359// And, the money transfer
7360{
7361 MoneyTransferBackend Low Trusted Zerocoded
7362 {
7363 MoneyData Single
7364 { TransactionID LLUUID }
7365 { TransactionTime U32 } // utc seconds since epoch
7366 { SourceID LLUUID }
7367 { DestID LLUUID } // destination of the transfer
7368 { Flags U8 }
7369 { Amount S32 }
7370 { AggregatePermNextOwner U8 }
7371 { AggregatePermInventory U8 }
7372 { TransactionType S32 } // see lltransactiontypes.h
7373 { Description Variable 1 } // string, name of item for purchases
7374 }
7375}
7376
7377// This message is used to coalesce money transfers on a per-agent
7378// basis. It should only be involved in sim->dataserver money communication.
7379{
7380 BulkMoneyTransfer Low Trusted Zerocoded
7381 {
7382 AgentData Single
7383 { AgentID LLUUID }
7384 { RegionX U32 }
7385 { RegionY U32 }
7386 }
7387 {
7388 MoneyData Variable
7389 { TransactionID LLUUID }
7390 { DestID LLUUID } // destination of the transfer
7391 { Flags U8 }
7392 { Amount S32 }
7393 { TransactionType S32 } // see lltransactiontypes.h
7394 { Description Variable 1 } // string, name of purchased item
7395 }
7396}
7397
7398
7399// This message is sent sim -> viewer when the simulator is queueing
7400// up transactions. This is because we do not have an authoritative
7401// balance from the dataserver, but we want to 'guess' how much
7402// money the agent has on the viewer.
7403{
7404 AdjustBalance Low NotTrusted Zerocoded
7405 {
7406 AgentData Single
7407 { AgentID LLUUID }
7408 { Delta S32 }
7409 }
7410}
7411
7412// viewer -> userserver -> dataserver
7413// Reliable
7414{
7415 MoneyBalanceRequest Low NotTrusted Zerocoded
7416 {
7417 AgentData Single
7418 { AgentID LLUUID }
7419 { SessionID LLUUID }
7420 }
7421 {
7422 MoneyData Single
7423 { TransactionID LLUUID }
7424 }
7425}
7426
7427
7428// dataserver -> simulator -> viewer
7429{
7430 MoneyBalanceReply Low Trusted Zerocoded
7431 {
7432 MoneyData Single
7433 { AgentID LLUUID }
7434 { TransactionID LLUUID }
7435 { TransactionSuccess BOOL } // BOOL
7436 { MoneyBalance S32 }
7437 { SquareMetersCredit S32 }
7438 { SquareMetersCommitted S32 }
7439 { Description Variable 1 } // string
7440 }
7441}
7442
7443
7444// RoutedMoneyBalanceReply
7445// This message is used when a dataserver needs to send updated
7446// money balance information to a simulator other than the one it
7447// is connected to. It uses the standard TransferBlock format.
7448// dataserver -> simulator -> spaceserver -> simulator -> viewer
7449// reliable
7450{
7451 RoutedMoneyBalanceReply Low Trusted Zerocoded
7452 {
7453 TargetBlock Single
7454 { TargetIP IPADDR } // U32 encoded IP
7455 { TargetPort IPPORT }
7456 }
7457 {
7458 MoneyData Single
7459 { AgentID LLUUID }
7460 { TransactionID LLUUID }
7461 { TransactionSuccess BOOL } // BOOL
7462 { MoneyBalance S32 }
7463 { SquareMetersCredit S32 }
7464 { SquareMetersCommitted S32 }
7465 { Description Variable 1 } // string
7466 }
7467}
7468
7469
7470// This will give you a partial money history on the requested agentid.
7471// Reliable
7472{
7473 MoneyHistoryRequest Low NotTrusted Unencoded
7474 {
7475 MoneyData Single
7476 { AgentID LLUUID }
7477 { StartPeriod S32 }
7478 { EndPeriod S32 }
7479 }
7480}
7481
7482// Reliable
7483{
7484 MoneyHistoryReply Low NotTrusted Zerocoded
7485 {
7486 AgentData Single
7487 { AgentID LLUUID }
7488 }
7489 {
7490 MoneyData Single
7491 { StartPeriod S32 }
7492 { EndPeriod S32 }
7493 { Balance S32 }
7494 { StartDate Variable 1 } // string
7495 { TaxEstimate S32 }
7496 { StipendEstimate S32 }
7497 { BonusEstimate S32 }
7498 }
7499 {
7500 HistoryData Variable
7501 { Description Variable 1 } // string
7502 { Amount S32 }
7503 }
7504}
7505
7506
7507// CurrentInterval = 0 => this period (week, day, etc.)
7508// CurrentInterval = 1 => last period
7509// viewer -> userserver -> dataserver
7510// reliable
7511{
7512 MoneySummaryRequest Low NotTrusted Unencoded
7513 {
7514 AgentData Single
7515 { AgentID LLUUID }
7516 { SessionID LLUUID }
7517 }
7518 {
7519 MoneyData Single
7520 { RequestID LLUUID }
7521 { IntervalDays S32 }
7522 { CurrentInterval S32 }
7523 }
7524}
7525
7526
7527// dataserver -> userserver -> viewer
7528// Reliable
7529{
7530 MoneySummaryReply Low NotTrusted Zerocoded
7531 {
7532 AgentData Single
7533 { AgentID LLUUID }
7534 }
7535 {
7536 MoneyData Single
7537 { RequestID LLUUID }
7538 { IntervalDays S32 }
7539 { CurrentInterval S32 }
7540 { StartDate Variable 1 } // string
7541 { Balance S32 }
7542 { TotalCredits S32 }
7543 { TotalDebits S32 }
7544 { ObjectTaxCurrent S32 }
7545 { LightTaxCurrent S32 }
7546 { LandTaxCurrent S32 }
7547 { GroupTaxCurrent S32 }
7548 { ParcelDirFeeCurrent S32 }
7549 { ObjectTaxEstimate S32 }
7550 { LightTaxEstimate S32 }
7551 { LandTaxEstimate S32 }
7552 { GroupTaxEstimate S32 }
7553 { ParcelDirFeeEstimate S32 }
7554 { StipendEstimate S32 }
7555 { BonusEstimate S32 }
7556 { LastTaxDate Variable 1 } // string
7557 { TaxDate Variable 1 } // string
7558 }
7559}
7560
7561
7562// Reliable
7563{
7564 MoneyDetailsRequest Low NotTrusted Unencoded
7565 {
7566 AgentData Single
7567 { AgentID LLUUID }
7568 { SessionID LLUUID }
7569 }
7570 {
7571 MoneyData Single
7572 { RequestID LLUUID }
7573 { IntervalDays S32 }
7574 { CurrentInterval S32 }
7575 }
7576}
7577
7578// Reliable
7579{
7580 MoneyDetailsReply Low NotTrusted Zerocoded
7581 {
7582 AgentData Single
7583 { AgentID LLUUID }
7584 }
7585 {
7586 MoneyData Single
7587 { RequestID LLUUID }
7588 { IntervalDays S32 }
7589 { CurrentInterval S32 }
7590 { StartDate Variable 1 } // string
7591 }
7592 {
7593 HistoryData Variable
7594 { Description Variable 1 } // string
7595 { Amount S32 }
7596 }
7597}
7598
7599
7600// Reliable
7601{
7602 MoneyTransactionsRequest Low NotTrusted Unencoded
7603 {
7604 AgentData Single
7605 { AgentID LLUUID }
7606 { SessionID LLUUID }
7607 }
7608 {
7609 MoneyData Single
7610 { RequestID LLUUID }
7611 { IntervalDays S32 }
7612 { CurrentInterval S32 }
7613 }
7614}
7615
7616// Reliable
7617{
7618 MoneyTransactionsReply Low NotTrusted Zerocoded
7619 {
7620 AgentData Single
7621 { AgentID LLUUID }
7622 }
7623 {
7624 MoneyData Single
7625 { RequestID LLUUID }
7626 { IntervalDays S32 }
7627 { CurrentInterval S32 }
7628 { StartDate Variable 1 } // string
7629 }
7630 {
7631 HistoryData Variable
7632 { Time Variable 1 } // string
7633 { User Variable 1 } // string
7634 { Type S32 }
7635 { Item Variable 1 } // string
7636 { Amount S32 }
7637 }
7638}
7639
7640//---------------------------------------------------------------------------
7641// Gesture saves/loads
7642//---------------------------------------------------------------------------
7643
7644// viewer -> userserver -> dataserver
7645// dataserver -> userserver -> viewer
7646{
7647 GestureUpdate Medium NotTrusted Unencoded
7648 {
7649 AgentBlock Single
7650 { AgentID LLUUID }
7651 { Filename Variable 1 } // String
7652 { ToViewer BOOL } // BOOL, direction this is going
7653 }
7654}
7655
7656// viewer -> userserver -> dataserver
7657{
7658 GestureRequest Low NotTrusted Unencoded
7659 {
7660 AgentBlock Single
7661 { AgentID LLUUID }
7662 { Reset BOOL } // 0=no reset, 1=male, 2=female
7663 }
7664}
7665
7666// Tell the database that some gestures are now active
7667// viewer -> sim -> data
7668{
7669 ActivateGestures Low NotTrusted Unencoded
7670 {
7671 AgentData Single
7672 { AgentID LLUUID }
7673 { SessionID LLUUID }
7674 { Flags U32 }
7675 }
7676 {
7677 Data Variable
7678 { ItemID LLUUID }
7679 { AssetID LLUUID }
7680 { GestureFlags U32 }
7681 }
7682}
7683
7684// Tell the database some gestures are no longer active
7685// viewer -> sim -> data
7686{
7687 DeactivateGestures Low NotTrusted Unencoded
7688 {
7689 AgentData Single
7690 { AgentID LLUUID }
7691 { SessionID LLUUID }
7692 { Flags U32 }
7693 }
7694 {
7695 Data Variable
7696 { ItemID LLUUID }
7697 { GestureFlags U32 }
7698 }
7699}
7700
7701//---------------------------------------------------------------------------
7702//
7703//---------------------------------------------------------------------------
7704
7705// userserver -> viewer, up-to-date inventory is here
7706// could be sent as a result of spam
7707// as well as in response to InventoryRequest
7708//{
7709// InventoryUpdate Low Trusted Unencoded
7710// {
7711// AgentData Single
7712// { AgentID LLUUID }
7713// }
7714// {
7715// InventoryData Single
7716// { IsComplete U8 }
7717// { Filename Variable 1 }
7718// }
7719//}
7720
7721// dataserver-> userserver -> viewer to move around the mute list
7722{
7723 MuteListUpdate Low Trusted Unencoded
7724 {
7725 MuteData Single
7726 { AgentID LLUUID }
7727 { Filename Variable 1 }
7728 }
7729}
7730
7731// tell viewer to use the local mute cache
7732{
7733 UseCachedMuteList Low NotTrusted Unencoded
7734 {
7735 AgentData Single
7736 { AgentID LLUUID }
7737 }
7738}
7739
7740// Sent from viewer to simulator to set user rights. This message will be
7741// relayed up to the dataserver through a PUT. If that
7742// succeeds, an UpdateUserRights will be relayed to the originating
7743// viewer, and a presence lookup will be performed to find
7744// agent-related and the same PUT will be issued to the sim host if
7745// they are online.
7746{
7747 GrantUserRights Low NotTrusted Unencoded
7748 {
7749 AgentData Single
7750 { AgentID LLUUID }
7751 { SessionID LLUUID }
7752 }
7753 {
7754 Rights Variable
7755 { AgentRelated LLUUID }
7756 { RelatedRights S32 }
7757 }
7758}
7759
7760// This message is sent from the simulator to the viewer to indicate a
7761// targets granted rights. This is only sent to the originator of the
7762// request and the target agent if it is a modify or map
7763// right. Adding/removing online status rights will show up as an
7764// online/offline notification.
7765{
7766 ChangeUserRights Low Trusted Unencoded
7767 {
7768 AgentData Single
7769 { AgentID LLUUID }
7770 }
7771 {
7772 Rights Variable
7773 { AgentRelated LLUUID }
7774 { RelatedRights S32 }
7775 }
7776}
7777
7778// notification for login and logout.
7779// source_sim -> dest_viewer
7780{
7781 OnlineNotification Low Trusted Unencoded
7782 {
7783 AgentBlock Variable
7784 { AgentID LLUUID }
7785 }
7786}
7787{
7788 OfflineNotification Low Trusted Unencoded
7789 {
7790 AgentBlock Variable
7791 { AgentID LLUUID }
7792 }
7793}
7794
7795
7796// SetStartLocationRequest
7797// viewer -> sim
7798// failure checked at sim and triggers ImprovedInstantMessage
7799// success triggers SetStartLocation
7800{
7801 SetStartLocationRequest Low NotTrusted Zerocoded
7802 {
7803 AgentData Single
7804 { AgentID LLUUID }
7805 { SessionID LLUUID }
7806 }
7807 {
7808 StartLocationData Single
7809 { SimName Variable 1 } // string
7810 { LocationID U32 }
7811 { LocationPos LLVector3 } // region coords
7812 { LocationLookAt LLVector3 }
7813 }
7814}
7815
7816// SetStartLocation
7817// sim -> dataserver
7818{
7819 SetStartLocation Low Trusted Zerocoded
7820 {
7821 StartLocationData Single
7822 { AgentID LLUUID }
7823 { RegionID LLUUID }
7824 { LocationID U32 }
7825 { RegionHandle U64 }
7826 { LocationPos LLVector3 } // region coords
7827 { LocationLookAt LLVector3 }
7828 }
7829}
7830
7831
7832// ***************************************************************************
7833// Launcher messages
7834// ***************************************************************************
7835
7836
7837// NetTest - This goes back and forth to the space server because of
7838// problems determining the port
7839{
7840 NetTest Low NotTrusted Unencoded
7841 {
7842 NetBlock Single
7843 { Port IPPORT }
7844 }
7845}
7846
7847// SetChildCount - Sent to launcher to adjust nominal child count
7848// Simulator sends this increase the sim/cpu ratio on startup
7849{
7850 SetCPURatio Low NotTrusted Unencoded
7851 {
7852 Data Single
7853 { Ratio U8 }
7854 }
7855}
7856
7857
7858
7859// SimCrashed - Sent to dataserver when the sim goes down.
7860// Maybe we should notify the spaceserver as well?
7861{
7862 SimCrashed Low NotTrusted Unencoded
7863 {
7864 Data Single
7865 { RegionX U32 }
7866 { RegionY U32 }
7867 }
7868 {
7869 Users Variable
7870 { AgentID LLUUID }
7871 }
7872}
7873
7874// ***************************************************************************
7875// Name Value Pair messages
7876// ***************************************************************************
7877
7878// NameValuePair - if the specific task exists on simulator, add or replace this name value pair
7879{
7880 NameValuePair Low Trusted Unencoded
7881 {
7882 TaskData Single
7883 { ID LLUUID }
7884 }
7885 {
7886 NameValueData Variable
7887 { NVPair Variable 2 }
7888 }
7889}
7890
7891// NameValuePair - if the specific task exists on simulator or dataserver, remove the name value pair (value is ignored)
7892{
7893 RemoveNameValuePair Low Trusted Unencoded
7894 {
7895 TaskData Single
7896 { ID LLUUID }
7897 }
7898 {
7899 NameValueData Variable
7900 { NVPair Variable 2 }
7901 }
7902}
7903
7904
7905// GetNameValuePair - if the specific task exists on simulator, get the value of this NameVale pair (if it exists)
7906// FIXME: No transmit. 12 Sep 2002 mark
7907{
7908 GetNameValuePair Low NotTrusted Unencoded
7909 {
7910 TaskData Single
7911 { ID LLUUID }
7912 }
7913 {
7914 NameValueName Variable
7915 { Name Variable 2 }
7916 }
7917}
7918
7919// ***************************************************************************
7920// Add/Remove Attachment messages
7921// ***************************************************************************
7922
7923//
7924// Simulator informs Dataserver of new attachment or attachment asset update
7925// DO NOT ALLOW THIS FROM THE VIEWER
7926//
7927{
7928 UpdateAttachment Low Trusted Zerocoded
7929 {
7930 AgentData Single
7931 { AgentID LLUUID }
7932 { SessionID LLUUID }
7933 }
7934 {
7935 AttachmentBlock Single
7936 { AttachmentPoint U8 }
7937 }
7938 {
7939 OperationData Single
7940 { AddItem BOOL }
7941 { UseExistingAsset BOOL }
7942 }
7943 {
7944 InventoryData Single // Standard inventory item block
7945 { ItemID LLUUID }
7946 { FolderID LLUUID }
7947
7948 { CreatorID LLUUID } // permissions
7949 { OwnerID LLUUID } // permissions
7950 { GroupID LLUUID } // permissions
7951 { BaseMask U32 } // permissions
7952 { OwnerMask U32 } // permissions
7953 { GroupMask U32 } // permissions
7954 { EveryoneMask U32 } // permissions
7955 { NextOwnerMask U32 } // permissions
7956 { GroupOwned BOOL } // permissions
7957
7958 { AssetID LLUUID }
7959 { Type S8 }
7960 { InvType S8 }
7961 { Flags U32 }
7962 { SaleType U8 }
7963 { SalePrice S32 }
7964 { Name Variable 1 }
7965 { Description Variable 1 }
7966 { CreationDate S32 }
7967 { CRC U32 }
7968 }
7969}
7970
7971// Simulator informs Dataserver that attachment has been taken off
7972{
7973 RemoveAttachment Low NotTrusted Unencoded
7974 {
7975 AgentData Single
7976 { AgentID LLUUID }
7977 { SessionID LLUUID }
7978 }
7979 {
7980 AttachmentBlock Single
7981 { AttachmentPoint U8 }
7982 { ItemID LLUUID }
7983 }
7984}
7985
7986
7987// ***************************************************************************
7988// GUIDed Sound messages
7989// ***************************************************************************
7990
7991// SoundTrigger - Sent by simulator to viewer to trigger sound outside current region
7992{
7993 SoundTrigger High NotTrusted Unencoded
7994 {
7995 SoundData Single
7996 { SoundID LLUUID }
7997 { OwnerID LLUUID }
7998 { ObjectID LLUUID }
7999 { ParentID LLUUID } // null if this object is the parent
8000 { Handle U64 } // region handle
8001 { Position LLVector3 } // region local
8002 { Gain F32 }
8003 }
8004}
8005
8006// AttachedSound - Sent by simulator to viewer to play sound attached with an object
8007{
8008 AttachedSound Medium Trusted Unencoded
8009 {
8010 DataBlock Single
8011 { SoundID LLUUID }
8012 { ObjectID LLUUID }
8013 { OwnerID LLUUID }
8014 { Gain F32 }
8015 { Flags U8 }
8016 }
8017}
8018
8019// AttachedSoundGainChange - Sent by simulator to viewer to change an attached sounds' volume
8020
8021{
8022 AttachedSoundGainChange Medium Trusted Unencoded
8023 {
8024 DataBlock Single
8025 { ObjectID LLUUID }
8026 { Gain F32 }
8027 }
8028}
8029
8030// AttachedSoundCutoffRadius - Sent by simulator to viewer to change an attached sounds' cutoff radius
8031
8032{
8033 AttachedSoundCutoffRadius Medium Trusted Unencoded
8034 {
8035 DataBlock Single
8036 { ObjectID LLUUID }
8037 { Radius F32 }
8038 }
8039}
8040
8041// PreloadSound - Sent by simulator to viewer to preload sound for an object
8042
8043{
8044 PreloadSound Medium Trusted Unencoded
8045 {
8046 DataBlock Variable
8047 { ObjectID LLUUID }
8048 { OwnerID LLUUID }
8049 { SoundID LLUUID }
8050 }
8051}
8052
8053
8054// *************************************************************************
8055// Asset storage messages
8056// *************************************************************************
8057
8058// current assumes an existing UUID, need to enhance for new assets
8059{
8060 AssetUploadRequest Low NotTrusted Unencoded
8061 {
8062 AssetBlock Single
8063 { TransactionID LLUUID }
8064 { Type S8 }
8065 { Tempfile BOOL }
8066 { StoreLocal BOOL }
8067 { AssetData Variable 2 } // Optional: the actual asset data if the whole thing will fit it this packet
8068 }
8069}
8070
8071{
8072 AssetUploadComplete Low NotTrusted Unencoded
8073 {
8074 AssetBlock Single
8075 { UUID LLUUID }
8076 { Type S8 }
8077 { Success BOOL }
8078 }
8079}
8080
8081//
8082// Reputation
8083//
8084{
8085 ReputationAgentAssign Low NotTrusted Unencoded
8086 {
8087 DataBlock Single
8088 { RatorID LLUUID }
8089 { RateeID LLUUID }
8090 { Behavior F32 } // float, usually -1 or +1
8091 { Appearance F32 } // float, usually -1 or +1
8092 { Building F32 } // float, usually -1 or +1
8093 }
8094}
8095
8096// ReputationIndividualRequest
8097// Gets From's rating of To.
8098// reliable
8099{
8100 ReputationIndividualRequest Low NotTrusted Unencoded
8101 {
8102 ReputationData Single
8103 { FromID LLUUID }
8104 { ToID LLUUID }
8105 }
8106}
8107
8108// ReputationIndividualReply
8109// reliable
8110{
8111 ReputationIndividualReply Low Trusted Unencoded
8112 {
8113 ReputationData Single
8114 { FromID LLUUID }
8115 { ToID LLUUID }
8116 { Behavior F32 } // float, usually -1 or +1
8117 { Appearance F32 } // float, usually -1 or +1
8118 { Building F32 } // float, usually -1 or +1
8119 }
8120}
8121
8122
8123// Script on simulator asks dataserver if there are any email messages
8124// waiting.
8125{
8126 EmailMessageRequest Low Trusted Unencoded
8127 {
8128 DataBlock Single
8129 { ObjectID LLUUID }
8130 { FromAddress Variable 1 }
8131 { Subject Variable 1 }
8132 }
8133}
8134
8135// Dataserver gives simulator the oldest email message in the queue, along with
8136// how many messages are left in the queue. And passes back the filter used to request emails.
8137{
8138 EmailMessageReply Low Trusted Unencoded
8139 {
8140 DataBlock Single
8141 { ObjectID LLUUID }
8142 { More U32 } //U32
8143 { Time U32 } //U32
8144 { FromAddress Variable 1 }
8145 { Subject Variable 1 }
8146 { Data Variable 2 }
8147 { MailFilter Variable 1 }
8148 }
8149}
8150
8151// Script on simulator sends mail to another script
8152{
8153 InternalScriptMail Medium Trusted Unencoded
8154 {
8155 DataBlock Single
8156 { From Variable 1 }
8157 { To LLUUID }
8158 { Subject Variable 1 }
8159 { Body Variable 2 }
8160 }
8161}
8162
8163// Script on simulator asks dataserver for information
8164{
8165 ScriptDataRequest Low Trusted Unencoded
8166 {
8167 DataBlock Variable
8168 { Hash U64 }
8169 { RequestType S8 }
8170 { Request Variable 2 }
8171 }
8172}
8173
8174// Data server responds with data
8175{
8176 ScriptDataReply Low Trusted Unencoded
8177 {
8178 DataBlock Variable
8179 { Hash U64 }
8180 { Reply Variable 2 }
8181 }
8182}
8183
8184
8185//-----------------------------------------------------------------------------
8186// Group messages
8187//-----------------------------------------------------------------------------
8188
8189// CreateGroupRequest
8190// viewer -> simulator
8191// simulator -> dataserver
8192// reliable
8193{
8194 CreateGroupRequest Low NotTrusted Zerocoded
8195 {
8196 AgentData Single
8197 { AgentID LLUUID }
8198 { SessionID LLUUID }
8199 }
8200 {
8201 GroupData Single
8202 { Name Variable 1 } // string
8203 { Charter Variable 2 } // string
8204 { ShowInList BOOL }
8205 { InsigniaID LLUUID }
8206 { MembershipFee S32 } // S32
8207 { OpenEnrollment BOOL } // BOOL (U8)
8208 { AllowPublish BOOL } // whether profile is externally visible or not
8209 { MaturePublish BOOL } // profile is "mature"
8210 }
8211}
8212
8213// CreateGroupReply
8214// dataserver -> simulator
8215// simulator -> viewer
8216// reliable
8217{
8218 CreateGroupReply Low Trusted Unencoded
8219 {
8220 AgentData Single
8221 { AgentID LLUUID }
8222 }
8223 {
8224 ReplyData Single
8225 { GroupID LLUUID }
8226 { Success BOOL }
8227 { Message Variable 1 } // string
8228 }
8229}
8230
8231// UpdateGroupInfo
8232// viewer -> simulator
8233// simulator -> dataserver
8234// reliable
8235{
8236 UpdateGroupInfo Low NotTrusted Zerocoded
8237 {
8238 AgentData Single
8239 { AgentID LLUUID }
8240 { SessionID LLUUID }
8241 }
8242 {
8243 GroupData Single
8244 { GroupID LLUUID }
8245 { Charter Variable 2 } // string
8246 { ShowInList BOOL }
8247 { InsigniaID LLUUID }
8248 { MembershipFee S32 }
8249 { OpenEnrollment BOOL }
8250 { AllowPublish BOOL }
8251 { MaturePublish BOOL }
8252 }
8253}
8254
8255// GroupRoleChanges
8256// viewer -> simulator -> dataserver
8257// reliable
8258{
8259 GroupRoleChanges Low NotTrusted Unencoded
8260 {
8261 AgentData Single
8262 { AgentID LLUUID }
8263 { SessionID LLUUID }
8264 { GroupID LLUUID }
8265 }
8266 {
8267 RoleChange Variable
8268 { RoleID LLUUID }
8269 { MemberID LLUUID }
8270 { Change U32 }
8271 }
8272}
8273
8274// JoinGroupRequest
8275// viewer -> simulator -> dataserver
8276// reliable
8277{
8278 JoinGroupRequest Low NotTrusted Zerocoded
8279 {
8280 AgentData Single
8281 { AgentID LLUUID }
8282 { SessionID LLUUID }
8283 }
8284 {
8285 GroupData Single
8286 { GroupID LLUUID }
8287 }
8288}
8289
8290// JoinGroupReply
8291// dataserver -> simulator -> viewer
8292{
8293 JoinGroupReply Low Trusted Unencoded
8294 {
8295 AgentData Single
8296 { AgentID LLUUID }
8297 }
8298 {
8299 GroupData Single
8300 { GroupID LLUUID }
8301 { Success BOOL }
8302 }
8303}
8304
8305
8306// EjectGroupMemberRequest
8307// viewer -> simulator -> dataserver
8308// reliable
8309{
8310 EjectGroupMemberRequest Low NotTrusted Unencoded
8311 {
8312 AgentData Single
8313 { AgentID LLUUID }
8314 { SessionID LLUUID }
8315 }
8316 {
8317 GroupData Single
8318 { GroupID LLUUID }
8319 }
8320 {
8321 EjectData Variable
8322 { EjecteeID LLUUID }
8323 }
8324}
8325
8326// EjectGroupMemberReply
8327// dataserver -> simulator -> viewer
8328// reliable
8329{
8330 EjectGroupMemberReply Low Trusted Unencoded
8331 {
8332 AgentData Single
8333 { AgentID LLUUID }
8334 }
8335 {
8336 GroupData Single
8337 { GroupID LLUUID }
8338 }
8339 {
8340 EjectData Single
8341 { Success BOOL }
8342 }
8343}
8344
8345// LeaveGroupRequest
8346// viewer -> simulator -> dataserver
8347// reliable
8348{
8349 LeaveGroupRequest Low NotTrusted Unencoded
8350 {
8351 AgentData Single
8352 { AgentID LLUUID }
8353 { SessionID LLUUID }
8354 }
8355 {
8356 GroupData Single
8357 { GroupID LLUUID }
8358 }
8359}
8360
8361// LeaveGroupReply
8362// dataserver -> simulator -> viewer
8363{
8364 LeaveGroupReply Low Trusted Unencoded
8365 {
8366 AgentData Single
8367 { AgentID LLUUID }
8368 }
8369 {
8370 GroupData Single
8371 { GroupID LLUUID }
8372 { Success BOOL }
8373 }
8374}
8375
8376// InviteGroupRequest
8377// viewer -> simulator -> dataserver
8378// reliable
8379{
8380 InviteGroupRequest Low NotTrusted Unencoded
8381 {
8382 AgentData Single
8383 { AgentID LLUUID } // UUID of inviting agent
8384 { SessionID LLUUID }
8385 }
8386 {
8387 GroupData Single
8388 { GroupID LLUUID }
8389 }
8390 {
8391 InviteData Variable
8392 { InviteeID LLUUID }
8393 { RoleID LLUUID }
8394 }
8395}
8396
8397// InviteGroupResponse
8398// simulator -> dataserver
8399// reliable
8400{
8401 InviteGroupResponse Low Trusted Unencoded
8402 {
8403 InviteData Single
8404 { AgentID LLUUID }
8405 { InviteeID LLUUID }
8406 { GroupID LLUUID }
8407 { RoleID LLUUID }
8408 { MembershipFee S32 }
8409 }
8410}
8411
8412// GroupProfileRequest
8413// viewer-> simulator -> dataserver
8414// reliable
8415{
8416 GroupProfileRequest Low NotTrusted Unencoded
8417 {
8418 AgentData Single
8419 { AgentID LLUUID }
8420 { SessionID LLUUID }
8421 }
8422 {
8423 GroupData Single
8424 { GroupID LLUUID }
8425 }
8426}
8427
8428// GroupProfileReply
8429// dataserver -> simulator -> viewer
8430// reliable
8431{
8432 GroupProfileReply Low Trusted Zerocoded
8433 {
8434 AgentData Single
8435 { AgentID LLUUID }
8436 }
8437 {
8438 GroupData Single
8439 { GroupID LLUUID }
8440 { Name Variable 1 } // string
8441 { Charter Variable 2 } // string
8442 { ShowInList BOOL }
8443 { MemberTitle Variable 1 } // string
8444 { PowersMask U64 } // U32 mask
8445 { InsigniaID LLUUID }
8446 { FounderID LLUUID }
8447 { MembershipFee S32 }
8448 { OpenEnrollment BOOL } // BOOL (U8)
8449 { Money S32 }
8450 { GroupMembershipCount S32 }
8451 { GroupRolesCount S32 }
8452 { AllowPublish BOOL }
8453 { MaturePublish BOOL }
8454 { OwnerRole LLUUID }
8455 }
8456}
8457
8458// CurrentInterval = 0 => this period (week, day, etc.)
8459// CurrentInterval = 1 => last period
8460// viewer -> simulator -> dataserver
8461// reliable
8462{
8463 GroupAccountSummaryRequest Low NotTrusted Zerocoded
8464 {
8465 AgentData Single
8466 { AgentID LLUUID }
8467 { SessionID LLUUID }
8468 { GroupID LLUUID }
8469 }
8470 {
8471 MoneyData Single
8472 { RequestID LLUUID }
8473 { IntervalDays S32 }
8474 { CurrentInterval S32 }
8475 }
8476}
8477
8478
8479// dataserver -> simulator -> viewer
8480// Reliable
8481{
8482 GroupAccountSummaryReply Low Trusted Zerocoded
8483 {
8484 AgentData Single
8485 { AgentID LLUUID }
8486 { GroupID LLUUID }
8487 }
8488 {
8489 MoneyData Single
8490 { RequestID LLUUID }
8491 { IntervalDays S32 }
8492 { CurrentInterval S32 }
8493 { StartDate Variable 1 } // string
8494 { Balance S32 }
8495 { TotalCredits S32 }
8496 { TotalDebits S32 }
8497 { ObjectTaxCurrent S32 }
8498 { LightTaxCurrent S32 }
8499 { LandTaxCurrent S32 }
8500 { GroupTaxCurrent S32 }
8501 { ParcelDirFeeCurrent S32 }
8502 { ObjectTaxEstimate S32 }
8503 { LightTaxEstimate S32 }
8504 { LandTaxEstimate S32 }
8505 { GroupTaxEstimate S32 }
8506 { ParcelDirFeeEstimate S32 }
8507 { NonExemptMembers S32 }
8508 { LastTaxDate Variable 1 } // string
8509 { TaxDate Variable 1 } // string
8510 }
8511}
8512
8513
8514// Reliable
8515{
8516 GroupAccountDetailsRequest Low NotTrusted Zerocoded
8517 {
8518 AgentData Single
8519 { AgentID LLUUID }
8520 { SessionID LLUUID }
8521 { GroupID LLUUID }
8522 }
8523 {
8524 MoneyData Single
8525 { RequestID LLUUID }
8526 { IntervalDays S32 }
8527 { CurrentInterval S32 }
8528 }
8529}
8530
8531// Reliable
8532{
8533 GroupAccountDetailsReply Low Trusted Zerocoded
8534 {
8535 AgentData Single
8536 { AgentID LLUUID }
8537 { GroupID LLUUID }
8538 }
8539 {
8540 MoneyData Single
8541 { RequestID LLUUID }
8542 { IntervalDays S32 }
8543 { CurrentInterval S32 }
8544 { StartDate Variable 1 } // string
8545 }
8546 {
8547 HistoryData Variable
8548 { Description Variable 1 } // string
8549 { Amount S32 }
8550 }
8551}
8552
8553
8554// Reliable
8555{
8556 GroupAccountTransactionsRequest Low NotTrusted Zerocoded
8557 {
8558 AgentData Single
8559 { AgentID LLUUID }
8560 { SessionID LLUUID }
8561 { GroupID LLUUID }
8562 }
8563 {
8564 MoneyData Single
8565 { RequestID LLUUID }
8566 { IntervalDays S32 }
8567 { CurrentInterval S32 }
8568 }
8569}
8570
8571// Reliable
8572{
8573 GroupAccountTransactionsReply Low Trusted Zerocoded
8574 {
8575 AgentData Single
8576 { AgentID LLUUID }
8577 { GroupID LLUUID }
8578 }
8579 {
8580 MoneyData Single
8581 { RequestID LLUUID }
8582 { IntervalDays S32 }
8583 { CurrentInterval S32 }
8584 { StartDate Variable 1 } // string
8585 }
8586 {
8587 HistoryData Variable
8588 { Time Variable 1 } // string
8589 { User Variable 1 } // string
8590 { Type S32 }
8591 { Item Variable 1 } // string
8592 { Amount S32 }
8593 }
8594}
8595
8596// GroupActiveProposalsRequest
8597// viewer -> simulator -> dataserver
8598//reliable
8599{
8600 GroupActiveProposalsRequest Low NotTrusted Unencoded
8601 {
8602 AgentData Single
8603 { AgentID LLUUID }
8604 { SessionID LLUUID }
8605 }
8606 {
8607 GroupData Single
8608 { GroupID LLUUID }
8609 }
8610 {
8611 TransactionData Single
8612 { TransactionID LLUUID }
8613 }
8614}
8615
8616// GroupActiveProposalItemReply
8617// dataserver -> simulator -> viewer
8618// reliable
8619{
8620 GroupActiveProposalItemReply Low Trusted Zerocoded
8621 {
8622 AgentData Single
8623 { AgentID LLUUID }
8624 { GroupID LLUUID }
8625 }
8626 {
8627 TransactionData Single
8628 { TransactionID LLUUID }
8629 { TotalNumItems U32 }
8630 }
8631 {
8632 ProposalData Variable
8633 { VoteID LLUUID }
8634 { VoteInitiator LLUUID }
8635 { TerseDateID Variable 1 } // string
8636 { StartDateTime Variable 1 } // string
8637 { EndDateTime Variable 1 } // string
8638 { AlreadyVoted BOOL }
8639 { VoteCast Variable 1 } // string
8640 { Majority F32 }
8641 { Quorum S32 }
8642 { ProposalText Variable 1 } // string
8643 }
8644}
8645
8646// GroupVoteHistoryRequest
8647// viewer -> simulator -> dataserver
8648//reliable
8649{
8650 GroupVoteHistoryRequest Low NotTrusted Unencoded
8651 {
8652 AgentData Single
8653 { AgentID LLUUID }
8654 { SessionID LLUUID }
8655 }
8656 {
8657 GroupData Single
8658 { GroupID LLUUID }
8659 }
8660 {
8661 TransactionData Single
8662 { TransactionID LLUUID }
8663 }
8664}
8665
8666// GroupVoteHistoryItemReply
8667// dataserver -> simulator -> viewer
8668// reliable
8669{
8670 GroupVoteHistoryItemReply Low Trusted Zerocoded
8671 {
8672 AgentData Single
8673 { AgentID LLUUID }
8674 { GroupID LLUUID }
8675 }
8676 {
8677 TransactionData Single
8678 { TransactionID LLUUID }
8679 { TotalNumItems U32 }
8680 }
8681 {
8682 HistoryItemData Single
8683 { VoteID LLUUID }
8684 { TerseDateID Variable 1 } // string
8685 { StartDateTime Variable 1 } // string
8686 { EndDateTime Variable 1 } // string
8687 { VoteInitiator LLUUID }
8688 { VoteType Variable 1 } // string
8689 { VoteResult Variable 1 } // string
8690 { Majority F32 }
8691 { Quorum S32 }
8692 { ProposalText Variable 2 } // string
8693 }
8694 {
8695 VoteItem Variable
8696 { CandidateID LLUUID }
8697 { VoteCast Variable 1 } // string
8698 { NumVotes S32 }
8699 }
8700}
8701
8702// StartGroupProposal
8703// viewer -> simulator -> dataserver
8704// reliable
8705{
8706 StartGroupProposal Low NotTrusted Zerocoded
8707 {
8708 AgentData Single
8709 { AgentID LLUUID }
8710 { SessionID LLUUID }
8711 }
8712 {
8713 ProposalData Single
8714 { GroupID LLUUID }
8715 { Quorum S32 }
8716 { Majority F32 } // F32
8717 { Duration S32 } // S32, seconds
8718 { ProposalText Variable 1 } // string
8719 }
8720}
8721
8722// GroupProposalBallot
8723// viewer -> simulator -> dataserver
8724// reliable
8725{
8726 GroupProposalBallot Low NotTrusted Unencoded
8727 {
8728 AgentData Single
8729 { AgentID LLUUID }
8730 { SessionID LLUUID }
8731 }
8732 {
8733 ProposalData Single
8734 { ProposalID LLUUID }
8735 { GroupID LLUUID }
8736 { VoteCast Variable 1 } // string
8737 }
8738}
8739
8740// TallyVotes userserver -> dataserver
8741// reliable
8742{
8743 TallyVotes Low Trusted Unencoded
8744}
8745
8746
8747
8748// GroupMembersRequest
8749// get the group members
8750// simulator -> dataserver
8751// reliable
8752{
8753 GroupMembersRequest Low NotTrusted Unencoded
8754 {
8755 AgentData Single
8756 { AgentID LLUUID }
8757 { SessionID LLUUID }
8758 }
8759 {
8760 GroupData Single
8761 { GroupID LLUUID }
8762 { RequestID LLUUID }
8763 }
8764}
8765
8766// GroupMembersReply
8767// list of uuids for the group members
8768// dataserver -> simulator
8769// reliable
8770{
8771 GroupMembersReply Low Trusted Zerocoded
8772 {
8773 AgentData Single
8774 { AgentID LLUUID }
8775 }
8776 {
8777 GroupData Single
8778 { GroupID LLUUID }
8779 { RequestID LLUUID }
8780 { MemberCount S32 }
8781 }
8782 {
8783 MemberData Variable
8784 { AgentID LLUUID }
8785 { Contribution S32 }
8786 { OnlineStatus Variable 1 } // string
8787 { AgentPowers U64 }
8788 { Title Variable 1 } // string
8789 { IsOwner BOOL }
8790 }
8791}
8792
8793// used to switch an agent's currently active group.
8794// viewer -> simulator -> dataserver -> AgentDataUpdate...
8795{
8796 ActivateGroup Low NotTrusted Zerocoded
8797 {
8798 AgentData Single
8799 { AgentID LLUUID }
8800 { SessionID LLUUID }
8801 { GroupID LLUUID }
8802 }
8803}
8804
8805// viewer -> simulator -> dataserver
8806{
8807 SetGroupContribution Low NotTrusted Unencoded
8808 {
8809 AgentData Single
8810 { AgentID LLUUID }
8811 { SessionID LLUUID }
8812 }
8813 {
8814 Data Single
8815 { GroupID LLUUID }
8816 { Contribution S32 }
8817 }
8818}
8819
8820// viewer -> simulator -> dataserver
8821{
8822 SetGroupAcceptNotices Low NotTrusted Unencoded
8823 {
8824 AgentData Single
8825 { AgentID LLUUID }
8826 { SessionID LLUUID }
8827 }
8828 {
8829 Data Single
8830 { GroupID LLUUID }
8831 { AcceptNotices BOOL }
8832 }
8833}
8834
8835// GroupRoleDataRequest
8836// viewer -> simulator -> dataserver
8837{
8838 GroupRoleDataRequest Low NotTrusted Unencoded
8839 {
8840 AgentData Single
8841 { AgentID LLUUID }
8842 { SessionID LLUUID }
8843 }
8844 {
8845 GroupData Single
8846 { GroupID LLUUID }
8847 { RequestID LLUUID }
8848 }
8849}
8850
8851
8852// GroupRoleDataReply
8853// All role data for this group
8854// dataserver -> simulator -> agent
8855{
8856 GroupRoleDataReply Low Trusted Unencoded
8857 {
8858 AgentData Single
8859 { AgentID LLUUID }
8860 }
8861 {
8862 GroupData Single
8863 { GroupID LLUUID }
8864 { RequestID LLUUID }
8865 { RoleCount S32 }
8866 }
8867 {
8868 RoleData Variable
8869 { RoleID LLUUID }
8870 { Name Variable 1 }
8871 { Title Variable 1 }
8872 { Description Variable 1 }
8873 { Powers U64 }
8874 { Members U32 }
8875 }
8876}
8877
8878// GroupRoleMembersRequest
8879// viewer -> simulator -> dataserver
8880{
8881 GroupRoleMembersRequest Low NotTrusted Unencoded
8882 {
8883 AgentData Single
8884 { AgentID LLUUID }
8885 { SessionID LLUUID }
8886 }
8887 {
8888 GroupData Single
8889 { GroupID LLUUID }
8890 { RequestID LLUUID }
8891 }
8892}
8893
8894// GroupRoleMembersReply
8895// All role::member pairs for this group.
8896// dataserver -> simulator -> agent
8897{
8898 GroupRoleMembersReply Low Trusted Unencoded
8899 {
8900 AgentData Single
8901 { AgentID LLUUID }
8902 { GroupID LLUUID }
8903 { RequestID LLUUID }
8904 { TotalPairs U32 }
8905 }
8906 {
8907 MemberData Variable
8908 { RoleID LLUUID }
8909 { MemberID LLUUID }
8910 }
8911}
8912
8913// GroupTitlesRequest
8914// viewer -> simulator -> dataserver
8915{
8916 GroupTitlesRequest Low NotTrusted Unencoded
8917 {
8918 AgentData Single
8919 { AgentID LLUUID }
8920 { SessionID LLUUID }
8921 { GroupID LLUUID }
8922 { RequestID LLUUID }
8923 }
8924}
8925
8926
8927// GroupTitlesReply
8928// dataserver -> simulator -> viewer
8929{
8930 GroupTitlesReply Low Trusted Zerocoded
8931 {
8932 AgentData Single
8933 { AgentID LLUUID }
8934 { GroupID LLUUID }
8935 { RequestID LLUUID }
8936 }
8937 {
8938 GroupData Variable
8939 { Title Variable 1 } // string
8940 { RoleID LLUUID }
8941 { Selected BOOL }
8942 }
8943}
8944
8945// GroupTitleUpdate
8946// viewer -> simulator -> dataserver
8947{
8948 GroupTitleUpdate Low NotTrusted Unencoded
8949 {
8950 AgentData Single
8951 { AgentID LLUUID }
8952 { SessionID LLUUID }
8953 { GroupID LLUUID }
8954 { TitleRoleID LLUUID }
8955 }
8956}
8957
8958// GroupRoleUpdate
8959// viewer -> simulator -> dataserver
8960{
8961 GroupRoleUpdate Low NotTrusted Unencoded
8962 {
8963 AgentData Single
8964 { AgentID LLUUID }
8965 { SessionID LLUUID }
8966 { GroupID LLUUID }
8967 }
8968 {
8969 RoleData Variable
8970 { RoleID LLUUID }
8971 { Name Variable 1 }
8972 { Description Variable 1 }
8973 { Title Variable 1 }
8974 { Powers U64 }
8975 { UpdateType U8 }
8976 }
8977}
8978
8979
8980
8981// Request the members of the live help group needed for requesting agent.
8982// userserver -> dataserver
8983{
8984 LiveHelpGroupRequest Low Trusted Unencoded
8985 {
8986 RequestData Single
8987 { RequestID LLUUID }
8988 { AgentID LLUUID }
8989 }
8990}
8991
8992// Send down the group
8993// dataserver -> userserver
8994{
8995 LiveHelpGroupReply Low Trusted Unencoded
8996 {
8997 ReplyData Single
8998 { RequestID LLUUID }
8999 { GroupID LLUUID }
9000 { Selection Variable 1 } // selection criteria all or active
9001 }
9002}
9003
9004//-----------------------------------------------------------------------------
9005// Wearable messages
9006//-----------------------------------------------------------------------------
9007
9008// AgentWearablesRequest
9009// (a.k.a. "Tell me what the avatar is wearing.")
9010// viewer -> simulator -> dataserver
9011// reliable
9012{
9013 AgentWearablesRequest Low NotTrusted Unencoded
9014 {
9015 AgentData Single
9016 { AgentID LLUUID }
9017 { SessionID LLUUID }
9018 }
9019}
9020
9021// AgentWearablesUpdate
9022// (a.k.a. "Here's what your avatar should be wearing now.")
9023// dataserver -> userserver -> viewer
9024// reliable
9025// NEVER from viewer to sim
9026{
9027 AgentWearablesUpdate Low Trusted Zerocoded
9028 {
9029 AgentData Single
9030 { AgentID LLUUID }
9031 { SessionID LLUUID }
9032 { SerialNum U32 } // U32, Increases every time the wearables change for a given agent. Used to avoid processing out of order packets.
9033 }
9034 {
9035 WearableData Variable
9036 { ItemID LLUUID }
9037 { AssetID LLUUID }
9038 { WearableType U8 } // U8, LLWearable::EWearType
9039 }
9040}
9041
9042//
9043// AgentIsNowWearing
9044// (a.k.a. "Here's what I'm wearing now.")
9045// viewer->sim->dataserver
9046// reliable
9047{
9048 AgentIsNowWearing Low NotTrusted Zerocoded
9049 {
9050 AgentData Single
9051 { AgentID LLUUID }
9052 { SessionID LLUUID }
9053 }
9054 {
9055 WearableData Variable
9056 { ItemID LLUUID }
9057 { WearableType U8 }
9058 }
9059}
9060
9061
9062// AgentCachedTexture
9063// viewer queries for cached textures on dataserver (via simulator)
9064// viewer -> simulator -> dataserver
9065// reliable
9066{
9067 AgentCachedTexture Low NotTrusted Unencoded
9068 {
9069 AgentData Single
9070 { AgentID LLUUID }
9071 { SessionID LLUUID }
9072 { SerialNum S32 }
9073 }
9074 {
9075 WearableData Variable
9076 { ID LLUUID }
9077 { TextureIndex U8 }
9078 }
9079}
9080
9081// AgentCachedTextureResponse
9082// response to viewer queries for cached textures on dataserver (via simulator)
9083// dataserver -> simulator -> viewer
9084// reliable
9085{
9086 AgentCachedTextureResponse Low Trusted Unencoded
9087 {
9088 AgentData Single
9089 { AgentID LLUUID }
9090 { SessionID LLUUID }
9091 { SerialNum S32 }
9092 }
9093 {
9094 WearableData Variable
9095 { TextureID LLUUID }
9096 { TextureIndex U8 }
9097 { HostName Variable 1 }
9098 }
9099}
9100
9101// Request an AgentDataUpdate without changing any agent data.
9102{
9103 AgentDataUpdateRequest Low NotTrusted Unencoded
9104 {
9105 AgentData Single
9106 { AgentID LLUUID }
9107 { SessionID LLUUID }
9108 }
9109}
9110
9111// AgentDataUpdate
9112// Updates a viewer or simulator's impression of agent-specific information.
9113// Used, for example, when an agent's group changes.
9114// dataserver -> simulator -> viewer
9115// reliable
9116{
9117 AgentDataUpdate Low Trusted Zerocoded
9118 {
9119 AgentData Single
9120 { AgentID LLUUID }
9121 { FirstName Variable 1 } // string
9122 { LastName Variable 1 } // string
9123 { GroupTitle Variable 1 } // string
9124 { ActiveGroupID LLUUID } // active group
9125 { GroupPowers U64 }
9126 { GroupName Variable 1 } // string
9127 }
9128}
9129
9130
9131// GroupDataUpdate
9132// This is a bunch of group data that needs to be appropriatly routed based on presence info.
9133// dataserver -> simulator
9134{
9135 GroupDataUpdate Low Trusted Zerocoded
9136 {
9137 AgentGroupData Variable
9138 { AgentID LLUUID }
9139 { GroupID LLUUID }
9140 { AgentPowers U64 }
9141 { GroupTitle Variable 1 }
9142 }
9143}
9144
9145// AgentGroupDataUpdate
9146// Updates a viewer or simulator's impression of the groups an agent is in.
9147// dataserver -> simulator -> viewer
9148// reliable
9149{
9150 AgentGroupDataUpdate Low Trusted Zerocoded
9151 {
9152 AgentData Single
9153 { AgentID LLUUID }
9154 }
9155 {
9156 GroupData Variable
9157 { GroupID LLUUID }
9158 { GroupPowers U64 }
9159 { AcceptNotices BOOL }
9160 { GroupInsigniaID LLUUID }
9161 { Contribution S32 }
9162 { GroupName Variable 1 } // string
9163 }
9164}
9165
9166// AgentDropGroup
9167// Updates the viewer / simulator that an agent is no longer part of a group
9168// dataserver -> simulator -> viewer
9169// dataserver -> userserver
9170// reliable
9171{
9172 AgentDropGroup Low Trusted Zerocoded
9173 {
9174 AgentData Single
9175 { AgentID LLUUID }
9176 { GroupID LLUUID }
9177 }
9178}
9179
9180// LogTextMessage
9181// Asks the dataserver to log the contents of this message in the
9182// chat and IM log table.
9183// Sent from userserver (IM logging) and simulator (chat logging).
9184{
9185 LogTextMessage Low Trusted Zerocoded
9186 {
9187 DataBlock Variable
9188 { FromAgentId LLUUID }
9189 { ToAgentId LLUUID }
9190 { GlobalX F64 }
9191 { GlobalY F64 }
9192 { Time U32 } // utc seconds since epoch
9193 { Message Variable 2 } // string
9194 }
9195}
9196
9197// ViewerEffect
9198// Viewer side effect that's sent from one viewer, and broadcast to other agents nearby
9199{
9200 ViewerEffect Medium NotTrusted Zerocoded
9201 {
9202 Effect Variable
9203 { ID LLUUID } // UUID of the effect
9204 { Type U8 } // Type of the effect
9205 { Duration F32 } // F32 time (seconds)
9206 { Color Fixed 4 } // Color4U
9207 { TypeData Variable 1 } // Type specific data
9208 }
9209}
9210
9211// SetSunPhase
9212// Sets the current phase of the sun - propagated from viewer->sim->spaceserver (if godlike)
9213{
9214 SetSunPhase Medium NotTrusted Unencoded
9215 {
9216 AgentData Single
9217 { AgentID LLUUID }
9218 { SessionID LLUUID }
9219 }
9220 {
9221 Data Single
9222 { Phase F32 } // F32 (radians)
9223 }
9224}
9225
9226// CreateTrustedCircuit
9227// Sent to establish a trust relationship between two components.
9228// Only sent in response to a DenyTrustedCircuit message.
9229{
9230 CreateTrustedCircuit Low NotTrusted Unencoded
9231 {
9232 DataBlock Single
9233 { EndPointID LLUUID }
9234 { Digest Fixed 32 } // 32 hex digits == 1 MD5 Digest
9235 }
9236}
9237
9238// DenyTrustedCircuit
9239// Sent :
9240// - in response to failed CreateTrustedCircuit
9241// - to force the remote end-point to try to establish a trusted circuit
9242// - the reception of a trusted message on a non-trusted circuit
9243// This allows us to re-auth a circuit if it gets closed due to timeouts or network failures.
9244{
9245 DenyTrustedCircuit Low NotTrusted Unencoded
9246 {
9247 DataBlock Single
9248 { EndPointID LLUUID }
9249 }
9250}
9251
9252// RequestTrustedCircuit
9253// If the destination does not trust the sender, a Deny is sent back.
9254{
9255 RequestTrustedCircuit Low Trusted Unencoded
9256}
9257
9258
9259{
9260 RezSingleAttachmentFromInv Low NotTrusted Zerocoded
9261 {
9262 AgentData Single
9263 { AgentID LLUUID }
9264 { SessionID LLUUID }
9265 }
9266 {
9267 ObjectData Single
9268 { ItemID LLUUID }
9269 { OwnerID LLUUID }
9270 { AttachmentPt U8 } // 0 for default
9271 { ItemFlags U32 }
9272 { GroupMask U32 }
9273 { EveryoneMask U32 }
9274 { NextOwnerMask U32 }
9275 { Name Variable 1 }
9276 { Description Variable 1 }
9277 }
9278}
9279
9280{
9281 RezMultipleAttachmentsFromInv Low NotTrusted Zerocoded
9282 {
9283 AgentData Single
9284 { AgentID LLUUID }
9285 { SessionID LLUUID }
9286 }
9287 {
9288 HeaderData Single
9289 { CompoundMsgID LLUUID } // All messages a single "compound msg" must have the same id
9290 { TotalObjects U8 }
9291 { FirstDetachAll BOOL }
9292 }
9293 {
9294 ObjectData Variable // 1 to 4 of these per packet
9295 { ItemID LLUUID }
9296 { OwnerID LLUUID }
9297 { AttachmentPt U8 } // 0 for default
9298 { ItemFlags U32 }
9299 { GroupMask U32 }
9300 { EveryoneMask U32 }
9301 { NextOwnerMask U32 }
9302 { Name Variable 1 }
9303 { Description Variable 1 }
9304 }
9305}
9306
9307
9308{
9309 DetachAttachmentIntoInv Low NotTrusted Unencoded
9310 {
9311 ObjectData Single
9312 { AgentID LLUUID }
9313 { ItemID LLUUID }
9314 }
9315}
9316
9317
9318// Viewer -> Sim
9319// Used in "Make New Outfit"
9320{
9321 CreateNewOutfitAttachments Low NotTrusted Unencoded
9322 {
9323 AgentData Single
9324 { AgentID LLUUID }
9325 { SessionID LLUUID }
9326 }
9327 {
9328 HeaderData Single
9329 { NewFolderID LLUUID }
9330 }
9331 {
9332 ObjectData Variable
9333 { OldItemID LLUUID }
9334 { OldFolderID LLUUID }
9335 }
9336}
9337
9338//-----------------------------------------------------------------------------
9339// Personal information messages
9340//-----------------------------------------------------------------------------
9341
9342{
9343 UserInfoRequest Low NotTrusted Unencoded
9344 {
9345 AgentData Single
9346 { AgentID LLUUID }
9347 { SessionID LLUUID }
9348 }
9349}
9350
9351{
9352 UserInfoReply Low NotTrusted Unencoded
9353 {
9354 AgentData Single
9355 { AgentID LLUUID }
9356 }
9357 {
9358 UserData Single
9359 { IMViaEMail BOOL }
9360 { DirectoryVisibility Variable 1 }
9361 { EMail Variable 2 }
9362 }
9363}
9364
9365{
9366 UpdateUserInfo Low NotTrusted Unencoded
9367 {
9368 AgentData Single
9369 { AgentID LLUUID }
9370 { SessionID LLUUID }
9371 }
9372 {
9373 UserData Single
9374 { IMViaEMail BOOL }
9375 { DirectoryVisibility Variable 1 }
9376 }
9377}
9378
9379
9380//-----------------------------------------------------------------------------
9381// System operations and maintenance
9382//-----------------------------------------------------------------------------
9383
9384// GodExpungeUser is sent from a viewer or other untrusted source to
9385// start the process for getting rid of a list of users. The message
9386// goes to the userserver, checks for godhood, and forwards the
9387// request to the dataserver. The dataserver then marks the user as being
9388// expunged and sends a StartExpungeProcess out to the simulators.
9389{
9390 GodExpungeUser Low NotTrusted Zerocoded
9391 {
9392 AgentData Single
9393 { AgentID LLUUID }
9394 { SessionID LLUUID }
9395 }
9396 {
9397 ExpungeData Variable
9398 { AgentID LLUUID }
9399 }
9400}
9401
9402// StartExpungeProcess is sent from the dataserver to the userserver,
9403// and from there relayed to the simulators which mark parcels and
9404// objects owned by the agent as being expunged.
9405{
9406 StartExpungeProcess Low Trusted Zerocoded
9407 {
9408 ExpungeData Variable
9409 { AgentID LLUUID }
9410 }
9411}
9412
9413// StartExpungeProcessAck - is sent from the userserver to anyone who
9414// sends a StartExpungeProcess. This is used to aid scripting the
9415// expunge process, since the message system does not generate
9416// any errors if you attempt to connect to a non-existant host within
9417// a reasonable timeframe for scripting
9418{
9419 StartExpungeProcessAck Low Trusted Unencoded
9420}
9421
9422// Message to rename identified parcels. script -> userserver -> dataserver
9423{
9424 StartParcelRename Low Trusted Unencoded
9425 {
9426 ParcelData Variable
9427 { ParcelID LLUUID }
9428 { NewName Variable 1 } // string
9429 }
9430}
9431
9432// ack the last message. userserver->script
9433{
9434 StartParcelRenameAck Low Trusted Unencoded
9435}
9436
9437// dataserver -> userserver -> spaceserver
9438{
9439 BulkParcelRename Low Trusted Zerocoded
9440 {
9441 ParcelData Variable
9442 { RegionHandle U64 }
9443 { ParcelID LLUUID }
9444 { NewName Variable 1 } // string
9445 }
9446}
9447
9448// spaceserver -> sim
9449// tell a particular simulator to rename a parcel
9450{
9451 ParcelRename Low Trusted Unencoded
9452 {
9453 ParcelData Variable
9454 { ParcelID LLUUID }
9455 { NewName Variable 1 } // string
9456 }
9457}
9458
9459// message to remove specified parcels. script -> userserver -> dataserver
9460{
9461 StartParcelRemove Low Trusted Unencoded
9462 {
9463 ParcelData Variable
9464 { ParcelID LLUUID }
9465 }
9466}
9467
9468// ack the start parcel remove message
9469{
9470 StartParcelRemoveAck Low Trusted Unencoded
9471}
9472
9473// dataserver -> userserver -> spaceserver
9474// The space server will then slice this message into a series of
9475// RemoveParcel messages.
9476{
9477 BulkParcelRemove Low Trusted Zerocoded
9478 {
9479 ParcelData Variable
9480 { RegionHandle U64 }
9481 { ParcelID LLUUID }
9482 }
9483}
9484
9485// sim -> viewer
9486// initiate upload. primarily used for uploading raw files.
9487{
9488 InitiateDownload Low NotTrusted Unencoded
9489 {
9490 AgentData Single
9491 { AgentID LLUUID }
9492 }
9493 {
9494 FileData Single
9495 { SimFilename Variable 1 } // string
9496 { ViewerFilename Variable 1 } // string
9497 }
9498}
9499
9500// Generalized system message. Each Requst has its own protocol for
9501// the StringData block format and contents.
9502{
9503 SystemMessage Low Trusted Zerocoded
9504 {
9505 MethodData Single
9506 { Method Variable 1 }
9507 { Invoice LLUUID }
9508 { Digest Fixed 32 } // 32 hex digits == 1 MD5 Digest
9509 }
9510 {
9511 ParamList Variable
9512 { Parameter Variable 1 }
9513 }
9514}
9515
9516
9517//-----------------------------------------------------------------------------
9518// map messages
9519//-----------------------------------------------------------------------------
9520
9521// viewer -> sim
9522// reliable
9523// This message is sent up from the viewer to (eventually) get a list
9524// of all map layers and NULL-layer sims.
9525// Returns: MapLayerReply and MapBlockReply
9526{
9527 MapLayerRequest Low NotTrusted Unencoded
9528 {
9529 AgentData Single
9530 { AgentID LLUUID }
9531 { SessionID LLUUID }
9532 { Flags U32 }
9533 { EstateID U32 } // filled in on sim
9534 { Godlike BOOL } // filled in on sim
9535 }
9536}
9537
9538// sim -> viewer
9539{
9540 MapLayerReply Low Trusted Unencoded
9541 {
9542 AgentData Single
9543 { AgentID LLUUID }
9544 { Flags U32 }
9545 }
9546 {
9547 LayerData Variable
9548 { Left U32 }
9549 { Right U32 }
9550 { Top U32 }
9551 { Bottom U32 }
9552 { ImageID LLUUID }
9553 }
9554}
9555
9556// viewer -> sim
9557// This message is sent up from the viewer to get a list
9558// of the sims in a specified region.
9559// Returns: MapBlockReply
9560{
9561 MapBlockRequest Low NotTrusted Unencoded
9562 {
9563 AgentData Single
9564 { AgentID LLUUID }
9565 { SessionID LLUUID }
9566 { Flags U32 }
9567 { EstateID U32 } // filled in on sim
9568 { Godlike BOOL } // filled in on sim
9569 }
9570 {
9571 PositionData Single
9572 { MinX U16 } // in region-widths
9573 { MaxX U16 } // in region-widths
9574 { MinY U16 } // in region-widths
9575 { MaxY U16 } // in region-widths
9576 }
9577}
9578
9579// viewer -> sim
9580// This message is sent up from the viewer to get a list
9581// of the sims with a given name.
9582// Returns: MapBlockReply
9583{
9584 MapNameRequest Low NotTrusted Unencoded
9585 {
9586 AgentData Single
9587 { AgentID LLUUID }
9588 { SessionID LLUUID }
9589 { Flags U32 }
9590 { EstateID U32 } // filled in on sim
9591 { Godlike BOOL } // filled in on sim
9592 }
9593 {
9594 NameData Single
9595 { Name Variable 1 } // string
9596 }
9597}
9598
9599// sim -> viewer
9600{
9601 MapBlockReply Low Trusted Unencoded
9602 {
9603 AgentData Single
9604 { AgentID LLUUID }
9605 { Flags U32 }
9606 }
9607 {
9608 Data Variable
9609 { X U16 } // in region-widths
9610 { Y U16 } // in region-widths
9611 { Name Variable 1 } // string
9612 { Access U8 } // PG, mature, etc.
9613 { RegionFlags U32 }
9614 { WaterHeight U8 } // meters
9615 { Agents U8 }
9616 { MapImageID LLUUID }
9617 }
9618}
9619
9620// viewer -> sim
9621// This message is sent up from the viewer to get a list
9622// of the items of a particular type on the map.
9623// Used for Telehubs, Agents, Events, Popular Places, etc.
9624// Returns: MapBlockReply
9625{
9626 MapItemRequest Low NotTrusted Unencoded
9627 {
9628 AgentData Single
9629 { AgentID LLUUID }
9630 { SessionID LLUUID }
9631 { Flags U32 }
9632 { EstateID U32 } // filled in on sim
9633 { Godlike BOOL } // filled in on sim
9634 }
9635 {
9636 RequestData Single
9637 { ItemType U32 }
9638 { RegionHandle U64 } // filled in on sim
9639 }
9640}
9641
9642// sim -> viewer
9643{
9644 MapItemReply Low Trusted Unencoded
9645 {
9646 AgentData Single
9647 { AgentID LLUUID }
9648 { Flags U32 }
9649 }
9650 {
9651 RequestData Single
9652 { ItemType U32 }
9653 }
9654 {
9655 Data Variable
9656 { X U32 } // global position
9657 { Y U32 } // global position
9658 { ID LLUUID } // identifier id
9659 { Extra S32 } // extra information
9660 { Extra2 S32 } // extra information
9661 { Name Variable 1 } // identifier string
9662 }
9663}
9664
9665//-----------------------------------------------------------------------------
9666// Postcard messages
9667//-----------------------------------------------------------------------------
9668// reliable
9669{
9670 SendPostcard Low NotTrusted Unencoded
9671 {
9672 AgentData Single
9673 { AgentID LLUUID }
9674 { SessionID LLUUID }
9675 { AssetID LLUUID }
9676 { PosGlobal LLVector3d } // Where snapshot was taken
9677 { To Variable 1 } // dest email address(es)
9678 { From Variable 1 } // src email address(es)
9679 { Name Variable 1 } // src name
9680 { Subject Variable 1 } // mail subject
9681 { Msg Variable 2 } // message text
9682 { AllowPublish BOOL } // Allow publishing on the web.
9683 { MaturePublish BOOL } // profile is "mature"
9684 }
9685}
9686
9687// RPC messages
9688// Script on simulator requests rpc channel from rpcserver
9689// simulator -> dataserver -> MySQL
9690{
9691 RpcChannelRequest Low Trusted Unencoded
9692 {
9693 DataBlock Single
9694 { GridX U32 }
9695 { GridY U32 }
9696 { TaskID LLUUID }
9697 { ItemID LLUUID }
9698 }
9699}
9700
9701// RpcServer allocated a session for the script
9702// ChannelID will be the NULL UUID if unable to register
9703// dataserver -> simulator
9704{
9705 RpcChannelReply Low Trusted Unencoded
9706 {
9707 DataBlock Single
9708 { TaskID LLUUID }
9709 { ItemID LLUUID }
9710 { ChannelID LLUUID }
9711 }
9712}
9713
9714// Inbound RPC requests follow this path:
9715// RpcScriptRequestInbound: rpcserver -> spaceserver
9716// RpcScriptRequestInboundForward: spaceserver -> simulator
9717// reply: simulator -> rpcserver
9718{
9719 RpcScriptRequestInbound Low NotTrusted Unencoded
9720 {
9721 TargetBlock Single
9722 { GridX U32 }
9723 { GridY U32 }
9724 }
9725 {
9726 DataBlock Single
9727 { TaskID LLUUID }
9728 { ItemID LLUUID }
9729 { ChannelID LLUUID }
9730 { IntValue U32 }
9731 { StringValue Variable 2 } // string
9732 }
9733}
9734
9735// spaceserver -> simulator
9736{
9737 RpcScriptRequestInboundForward Low Trusted Unencoded
9738 {
9739 DataBlock Single
9740 { RPCServerIP IPADDR }
9741 { RPCServerPort IPPORT }
9742 { TaskID LLUUID }
9743 { ItemID LLUUID }
9744 { ChannelID LLUUID }
9745 { IntValue U32 }
9746 { StringValue Variable 2 } // string
9747 }
9748}
9749
9750// simulator -> rpcserver
9751// Not trusted because trust establishment doesn't work here.
9752{
9753 RpcScriptReplyInbound Low NotTrusted Unencoded
9754 {
9755 DataBlock Single
9756 { TaskID LLUUID }
9757 { ItemID LLUUID }
9758 { ChannelID LLUUID }
9759 { IntValue U32 }
9760 { StringValue Variable 2 } // string
9761 }
9762}
9763
9764// Simulator asks for what sim a script lives on (intersim object->object email delivery)
9765// simulator -> dataserver
9766// *NOTE: Not in use. Phoenix 2006-08-16
9767{
9768 MailTaskSimRequest Low Trusted Unencoded
9769 {
9770 DataBlock Single
9771 { TaskID LLUUID }
9772 }
9773}
9774
9775// Reply from dataserver to simulator about where a mailping needs to go.
9776// Same as below, but needs to be different as it has different routing.
9777// *NOTE: Not in use. Phoenix 2006-08-16
9778{
9779 MailTaskSimReply Low Trusted Unencoded
9780 {
9781 TargetBlock Single
9782 { TargetIP Variable 1 } // String IP
9783 { TargetPort IPPORT }
9784 }
9785 {
9786 DataBlock Single
9787 { TaskID LLUUID }
9788 }
9789}
9790
9791// ScriptMailRegistration
9792// Simulator -> dataserver
9793{
9794 ScriptMailRegistration Low Trusted Unencoded
9795 {
9796 DataBlock Single
9797 { TargetIP Variable 1 } // String IP
9798 { TargetPort IPPORT }
9799 { TaskID LLUUID }
9800 { Flags U32 }
9801 }
9802}
9803
9804// ParcelMediaCommandMessage
9805// Sends a parcel media command
9806{
9807 ParcelMediaCommandMessage Low Trusted Unencoded
9808 {
9809 CommandBlock Single
9810 { Flags U32 }
9811 { Command U32 }
9812 { Time F32 }
9813 }
9814}
9815
9816// ParcelMediaUpdate
9817// Sends a parcel media update to a single user
9818// For global updates use the parcel manager.
9819{
9820 ParcelMediaUpdate Low Trusted Unencoded
9821 {
9822 DataBlock Single
9823 { MediaURL Variable 1 } // string
9824 { MediaID LLUUID }
9825 { MediaAutoScale U8 }
9826 }
9827}
9828
9829// LandStatRequest
9830// Sent by the viewer to request collider/script information for a parcel
9831{
9832 LandStatRequest Low NotTrusted Unencoded
9833 {
9834 AgentData Single
9835 { AgentID LLUUID }
9836 { SessionID LLUUID }
9837 }
9838 {
9839 RequestData Single
9840 { ReportType U32 }
9841 { RequestFlags U32 }
9842 { Filter Variable 1 }
9843 { ParcelLocalID S32 1 }
9844 }
9845}
9846
9847// LandStatReply
9848// Sent by the simulator in response to LandStatRequest
9849{
9850 LandStatReply Low Trusted Unencoded
9851 {
9852 RequestData Single
9853 { ReportType U32 }
9854 { RequestFlags U32 }
9855 { TotalObjectCount U32 }
9856 }
9857 {
9858 ReportData Variable
9859 { TaskLocalID U32 }
9860 { TaskID LLUUID }
9861 { LocationX F32 }
9862 { LocationY F32 }
9863 { LocationZ F32 }
9864 { Score F32 }
9865 { TaskName Variable 1 }
9866 { OwnerName Variable 1 }
9867 }
9868}