Index: server/lib/gutenbach/ipp/operations.py
===================================================================
--- server/lib/gutenbach/ipp/operations.py	(revision 35f7259c54618dd5cfa8493bd9c2674c6542af7a)
+++ server/lib/gutenbach/ipp/operations.py	(revision 6ed9d7ae41fb70601d970f977c476e4b8499e8ed)
@@ -180,2 +180,77 @@
 
     return out
+
+def make_get_jobs_response(self, request):
+    """3.2.6.2 Get-Jobs Response
+        
+    The Printer object returns all of the Job objects up to the number
+    specified by the 'limit' attribute that match the criteria as
+    defined by the attribute values supplied by the client in the
+    request. It is possible that no Job objects are returned since
+    there may literally be no Job objects at the Printer, or there may
+    be no Job objects that match the criteria supplied by the
+    client. If the client requests any Job attributes at all, there is
+    a set of Job Object Attributes returned for each Job object.
+
+    It is not an error for the Printer to return 0 jobs. If the
+    response returns 0 jobs because there are no jobs matching the
+    criteria, and the request would have returned 1 or more jobs
+    with a status code of ’successful-ok’ if there had been jobs
+    matching the criteria, then the status code for 0 jobs MUST be
+    ’successful-ok’.
+
+    Group 1: Operation Attributes
+        Status Message:
+            In addition to the REQUIRED status code returned in
+            every response, the response OPTIONALLY includes a
+            'status-message' (text(255)) and/or a
+            'detailed-status-message' (text(MAX)) operation
+            attribute as described in sections 13 and 3.1.6.
+        Natural Language and Character Set:
+            The 'attributes-charset' and
+            'attributes-natural-language' attributes as described
+            in section 3.1.4.2.
+
+    Group 2: Unsupported Attributes
+        See section 3.1.7 for details on returning Unsupported
+        Attributes.  The response NEED NOT contain the
+        'requested-attributes' operation attribute with any
+        supplied values (attribute keywords) that were requested
+        by the client but are not supported by the IPP object.  If
+        the Printer object does return unsupported attributes
+        referenced in the 'requested-attributes' operation
+        attribute and that attribute included group names, such as
+        ’all’, the unsupported attributes MUST NOT include
+        attributes described in the standard but not supported by
+        the implementation.
+
+    Groups 3 to N: Job Object Attributes
+        The Printer object responds with one set of Job Object
+        Attributes for each returned Job object. The Printer
+        object ignores (does not respond with) any requested
+        attribute or value which is not supported or which is
+        restricted by the security policy in force, including
+        whether the requesting user is the user that submitted the
+        job (job originating user) or not (see section
+        8). However, the Printer object MUST respond with the
+        ’unknown’ value for any supported attribute (including all
+        REQUIRED attributes) for which the Printer object does not
+        know the value, unless it would violate the security
+        policy. See the description of the 'out-of- band' values
+        in the beginning of Section 4.1.
+
+        Jobs are returned in the following order:
+        - If the client requests all ’completed’ Jobs (Jobs in the
+          ’completed’, ’aborted’, or ’canceled’ states), then the
+          Jobs are returned newest to oldest (with respect to
+          actual completion time)
+        - If the client requests all ’not-completed’ Jobs (Jobs in
+          the ’pending’, ’processing’, ’pending-held’, and
+          ’processing- stopped’ states), then Jobs are returned in
+          relative chronological order of expected time to
+          complete (based on whatever scheduling algorithm is
+          configured for the Printer object).
+
+    """
+
+    pass
Index: server/lib/gutenbach/server/requests.py
===================================================================
--- server/lib/gutenbach/server/requests.py	(revision 738d1793413d205b6955b290c20a943e33cd1702)
+++ server/lib/gutenbach/server/requests.py	(revision 6ed9d7ae41fb70601d970f977c476e4b8499e8ed)
@@ -100,4 +100,18 @@
     @handler_for(const.Operations.GET_JOBS)
     def get_jobs(self, request, response):
+        """RFC 2911: 3.2.6 Get-Jobs Operation
+        
+        This REQUIRED operation allows a client to retrieve the list
+        of Job objects belonging to the target Printer object. The
+        client may also supply a list of Job attribute names and/or
+        attribute group names. A group of Job object attributes will
+        be returned for each Job object that is returned.
+
+        This operation is similar to the Get-Job-Attributes operation,
+        except that this Get-Jobs operation returns attributes from
+        possibly more than one object.
+
+        """
+
         printer_name = self._get_printer_name(request)
         # Each job will append a new job attribute group.
@@ -155,5 +169,4 @@
     def promote_job(self, request, response):
         pass
-
 
     ##### CUPS Specific Commands
